Trying to fix the link with wsj1
[staging/windowmanager.git] / AFBClient.h
index fa88663..3961baf 100644 (file)
@@ -15,8 +15,17 @@ extern "C"
 
 class AFBClient
 {
+    explicit AFBClient();
+    AFBClient(const AFBClient& that) = delete;
+    virtual~AFBClient();
+
 public:
-    AFBClient();
+    static AFBClient &instance()
+    {
+        static AFBClient obj;
+        return obj;
+    }
+
     bool init();
     void requestSurface(const char *label);
     void activateSurface(const char *label);
@@ -27,10 +36,10 @@ public:
     static void onEvent(void *closure, const char *event, struct afb_wsj1_msg *msg);
     static void onHangup(void *closure, struct afb_wsj1 *wsj1);
     static void onReply(void *closure, struct afb_wsj1_msg *msg);
+    static void onRequestSurfaceReply(void *closure, struct afb_wsj1_msg *msg);
 
 private:
     void call(const char *api, const char *verb, const char *object);
-    void emitSignalOrCall(const char *api, const char *verb, const char *object);
     void event(const char *event, const char *object);
 
     struct afb_wsj1 *wsj1;