[Qt] Expose API to go full offline/online

This commit is contained in:
Thiago Marcos P. Santos
2016-03-07 20:16:42 -03:00
parent e974dd282d
commit 459e72d72a
3 changed files with 41 additions and 0 deletions

View File

@@ -25,6 +25,14 @@ typedef QList<PointAnnotation> PointAnnotations;
typedef QPair<CoordinateSegments, QString> ShapeAnnotation;
typedef QList<ShapeAnnotation> ShapeAnnotations;
enum NetworkMode {
Online, // Default
Offline,
};
Q_DECL_EXPORT NetworkMode networkMode();
Q_DECL_EXPORT void setNetworkMode(NetworkMode);
}
#endif // QMAPBOX_H

View File

@@ -52,6 +52,7 @@
'src/http_request.cpp',
'src/http_request.hpp',
'src/image.cpp',
'src/qmapbox.cpp',
'src/qmapboxgl.cpp',
'src/qmapboxgl_p.hpp',
'src/run_loop.cpp',

View File

@@ -0,0 +1,32 @@
#include <mbgl/storage/network_status.hpp>
#include <QMapbox>
namespace QMapbox {
Q_DECL_EXPORT NetworkMode networkMode()
{
switch (mbgl::NetworkStatus::Get()) {
case mbgl::NetworkStatus::Status::Online:
return NetworkMode::Online;
case mbgl::NetworkStatus::Status::Offline:
return NetworkMode::Offline;
}
// Silence compile warnings, should never happen.
return NetworkMode::Online;
}
Q_DECL_EXPORT void setNetworkMode(NetworkMode mode)
{
switch (mode) {
case Online:
mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Online);
break;
case Offline:
mbgl::NetworkStatus::Set(mbgl::NetworkStatus::Status::Offline);
break;
}
}
}