summaryrefslogtreecommitdiff
path: root/include/mbgl/platform
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/platform')
-rw-r--r--include/mbgl/platform/factory.hpp6
-rw-r--r--include/mbgl/platform/platform_run_loop.hpp17
2 files changed, 18 insertions, 5 deletions
diff --git a/include/mbgl/platform/factory.hpp b/include/mbgl/platform/factory.hpp
index d8615b424f..b9274457c0 100644
--- a/include/mbgl/platform/factory.hpp
+++ b/include/mbgl/platform/factory.hpp
@@ -1,5 +1,7 @@
#pragma once
+#include <mbgl/platform/platform_run_loop.hpp>
+
#include <memory>
namespace mbgl {
@@ -21,9 +23,9 @@ public:
*
* @return the platform run loop.
*/
- static std::unique_ptr<PlatformRunLoop> runLoop();
+ static std::unique_ptr<PlatformRunLoop> createRunLoop();
PlatformFactory() = delete;
-}
+};
} // namespace mbgl
diff --git a/include/mbgl/platform/platform_run_loop.hpp b/include/mbgl/platform/platform_run_loop.hpp
index c3b3d4c198..dce328f5d5 100644
--- a/include/mbgl/platform/platform_run_loop.hpp
+++ b/include/mbgl/platform/platform_run_loop.hpp
@@ -1,16 +1,27 @@
#pragma once
-#include <mbgl/util/run_loop.hpp>
+#include <functional>
namespace mbgl {
-class PlatformRunLoop
+class PlatformRunLoop {
public:
+ virtual ~PlatformRunLoop() = default;
+
+ virtual void *handle() = 0;
+
virtual void run() = 0;
virtual void runOnce() = 0;
virtual void stop() = 0;
- virtual void addWatch(int fd, Event, std::function<void(int, util::RunLoop::Event)>&& callback) = 0;
+ enum class Event : uint8_t {
+ None = 0,
+ Read = 1,
+ Write = 2,
+ ReadWrite = Read | Write,
+ };
+
+ virtual void addWatch(int fd, Event, std::function<void(int, Event)>&& callback) = 0;
virtual void removeWatch(int fd) = 0;
};