aboutsummaryrefslogtreecommitdiffstats
path: root/client-lib/AFBClient.h
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-09-12 12:06:20 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-09-14 14:04:51 +0200
commit530b7054a0f2800936ef312f016b9d55f9defddf (patch)
tree788a9d7d62a70ec4e02cd6abbbd687ea28e1ab3b /client-lib/AFBClient.h
parentda89d53e9abb971d3e2898597362f8886159868b (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.h45
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