From d5377de21c1eacc164252c2631114815e7c4ae80 Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Thu, 14 Sep 2017 14:04:31 +0200 Subject: [PATCH] Fix compilation for target original author is Aurelian. Signed-off-by: Marcus Fritzsch --- AFBClient.cpp | 33 +++++++++++++++++++-------------- AFBClient.h | 18 ++++++++++++------ 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 #include -#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 #ifdef AFB +extern "C" +{ #include #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 -- 2.16.6