diff options
Diffstat (limited to 'include/mbgl/platform')
-rw-r--r-- | include/mbgl/platform/factory.hpp | 6 | ||||
-rw-r--r-- | include/mbgl/platform/platform_run_loop.hpp | 17 |
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; }; |