summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-09-14 14:04:31 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-09-14 14:04:31 +0200
commitd5377de21c1eacc164252c2631114815e7c4ae80 (patch)
tree8568d5384dcf5112b1ff177a8adc4a5fb32cae7e
parent87630355438c21bb30243334e0ed4857e3d06f7c (diff)
Fix compilation for target
original author is Aurelian. Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
-rw-r--r--AFBClient.cpp33
-rw-r--r--AFBClient.h18
2 files changed, 31 insertions, 20 deletions
diff --git a/AFBClient.cpp b/AFBClient.cpp
index 7abdd78..c4b32db 100644
--- a/AFBClient.cpp
+++ b/AFBClient.cpp
@@ -5,18 +5,17 @@
#include <errno.h>
#include <string.h>
-#ifdef AFB
-/* the callback interface for wsj1 */
-static struct afb_wsj1_itf itf =
-{
- .on_hangup = AFBClient::onHangup,
- .on_call = AFBClient::onCall,
- .on_event = AFBClient::onEvent
-};
-#endif
+#define UNUSED(x) (void)(x)
+
+const char * AFBClient::wmURI = "ws://localhost:1700/api?wm";
+const char * AFBClient::wmAPI = "winman";
-AFBClient::AFBClient()
+AFBClient::AFBClient() : itf()
{
+ ///* itinializing the callback interface for wsj1 */
+ itf.on_hangup = AFBClient::onHangup;
+ itf.on_call = AFBClient::onCall;
+ itf.on_event = AFBClient::onEvent;
}
bool AFBClient::init()
@@ -48,7 +47,7 @@ void AFBClient::requestSurface(const char *label)
strcat(parameter, label);
strcat(parameter, "\"}");
printf("requestSurface(%s): %s\n", label, parameter);
- call(wmAPI, "request_surface", parameter);
+ call(AFBClient::wmAPI, "request_surface", parameter);
}
void AFBClient::activateSurface(const char *label)
@@ -59,23 +58,26 @@ void AFBClient::activateSurface(const char *label)
strcat(parameter, label);
strcat(parameter, "\"}");
printf("activateSurface(%s): %s\n", label, parameter);
- call(wmAPI, "activate_surface", parameter);
+ call(AFBClient::wmAPI, "activate_surface", parameter);
}
void AFBClient::deactivateSurface(const char *label)
{
+ UNUSED(label);
}
void AFBClient::endDraw(const char *label)
{
+ UNUSED(label);
}
/* called when wsj1 receives a method invocation */
-void AFBClient::onCall(void *closure, afb_wsj1 *wsj1)
+void AFBClient::onCall(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg)
{
#ifdef AFB
+ UNUSED(closure);
int rc;
- printf("ON-CALL %s/%s:\n%s\n", wmAPI, verb,
+ printf("ON-CALL %s/%s:\n%s\n", api, verb,
json_object_to_json_string_ext(afb_wsj1_msg_object_j(msg),
JSON_C_TO_STRING_PRETTY));
fflush(stdout);
@@ -89,6 +91,7 @@ void AFBClient::onCall(void *closure, afb_wsj1 *wsj1)
void AFBClient::onEvent(void *closure, const char *event, afb_wsj1_msg *msg)
{
#ifdef AFB
+ UNUSED(closure);
printf("ON-EVENT %s:\n%s\n", event,
json_object_to_json_string_ext(afb_wsj1_msg_object_j(msg),
JSON_C_TO_STRING_PRETTY));
@@ -99,6 +102,8 @@ void AFBClient::onEvent(void *closure, const char *event, afb_wsj1_msg *msg)
/* called when wsj1 hangsup */
void AFBClient::onHangup(void *closure, afb_wsj1 *wsj1)
{
+ UNUSED(closure);
+ UNUSED(wsj1);
printf("ON-HANGUP\n");
fflush(stdout);
exit(0);
diff --git a/AFBClient.h b/AFBClient.h
index 6947629..fa88663 100644
--- a/AFBClient.h
+++ b/AFBClient.h
@@ -4,10 +4,13 @@
#include <systemd/sd-event.h>
#ifdef AFB
+extern "C"
+{
#include <json-c/json.h>
#include "afb-wsj1.h"
#include "afb-ws-client.h"
+}
#endif
class AFBClient
@@ -20,19 +23,22 @@ public:
void deactivateSurface(const char *label);
void endDraw(const char *label);
+ static void onCall(void *closure, const char *api, const char *verb, struct afb_wsj1_msg *msg);
+ 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);
+
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);
- void onCall(void *closure, struct afb_wsj1 *wsj1);
- void onEvent(void *closure, const char *event, struct afb_wsj1_msg *msg);
- void onHangup(void *closure, struct afb_wsj1 *wsj1);
- void onReply(void *closure, struct afb_wsj1_msg *msg);
struct afb_wsj1 *wsj1;
+ struct afb_wsj1_itf itf;
+
sd_event *loop;
- const char *wmURI = "ws://localhost:1700/api?wm";
- const char *wmAPI = "winman";
+ static const char *wmURI;
+ static const char *wmAPI;
};
#endif // AFBCLIENT_H