diff options
author | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-09-12 12:06:20 +0200 |
---|---|---|
committer | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-09-14 14:04:51 +0200 |
commit | 530b7054a0f2800936ef312f016b9d55f9defddf (patch) | |
tree | 788a9d7d62a70ec4e02cd6abbbd687ea28e1ab3b /client-lib/AFBClient.h | |
parent | da89d53e9abb971d3e2898597362f8886159868b (diff) |
Move AFBClient to client-lib/
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'client-lib/AFBClient.h')
-rw-r--r-- | client-lib/AFBClient.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/client-lib/AFBClient.h b/client-lib/AFBClient.h new file mode 100644 index 0000000..964e2b0 --- /dev/null +++ b/client-lib/AFBClient.h @@ -0,0 +1,45 @@ +#ifndef AFBCLIENT_H +#define AFBCLIENT_H + +#include <functional> + +class AFBClient { + AFBClient(); + ~AFBClient(); + + AFBClient(const AFBClient &) = delete; + AFBClient &operator=(const AFBClient &) = delete; + +public: + using handler_fun = std::function<void(const char *)>; + + enum EventType { + Event_Active = 1, + Event_Inactive, + + Event_Visible, + Event_Invisible, + + Event_SyncDraw, + Event_FlushDraw, + }; + + static AFBClient &instance(); + + int init(int port, char const *token); + int dispatch(); + + // WM API + int requestSurface(const char *label); + int activateSurface(const char *label); + int deactivateSurface(const char *label); + int endDraw(const char *label); + + void set_event_handler(enum EventType et, handler_fun f); + + struct Impl; + +private: + Impl *d; +}; +#endif // AFBCLIENT_H |