diff options
author | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-03-07 20:16:42 -0300 |
---|---|---|
committer | Thiago Marcos P. Santos <thiago@mapbox.com> | 2016-04-20 20:55:51 +0300 |
commit | 459e72d72a89adb496757260b9ee90fc1b501bef (patch) | |
tree | d727ca51cf89ca311924bab45903d6bee8a890bc /platform | |
parent | e974dd282d3337856fd1a83e76878e1ff6ce1bf1 (diff) | |
download | qtlocation-mapboxgl-459e72d72a89adb496757260b9ee90fc1b501bef.tar.gz |
[Qt] Expose API to go full offline/online
Diffstat (limited to 'platform')
-rw-r--r-- | platform/qt/include/qmapbox.hpp | 8 | ||||
-rw-r--r-- | platform/qt/platform.gyp | 1 | ||||
-rw-r--r-- | platform/qt/src/qmapbox.cpp | 32 |
3 files changed, 41 insertions, 0 deletions
diff --git a/platform/qt/include/qmapbox.hpp b/platform/qt/include/qmapbox.hpp index fc52218bb2..fe7c749e51 100644 --- a/platform/qt/include/qmapbox.hpp +++ b/platform/qt/include/qmapbox.hpp @@ -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 diff --git a/platform/qt/platform.gyp b/platform/qt/platform.gyp index 3e52a5cb27..41b4c7ad4a 100644 --- a/platform/qt/platform.gyp +++ b/platform/qt/platform.gyp @@ -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', diff --git a/platform/qt/src/qmapbox.cpp b/platform/qt/src/qmapbox.cpp new file mode 100644 index 0000000000..8ecb2c09b9 --- /dev/null +++ b/platform/qt/src/qmapbox.cpp @@ -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; + } +} + +} |