diff options
-rw-r--r-- | AFBClient.cpp | 89 | ||||
-rw-r--r-- | AFBClient.h | 17 |
2 files changed, 53 insertions, 53 deletions
diff --git a/AFBClient.cpp b/AFBClient.cpp index cee49ad..5ffad29 100644 --- a/AFBClient.cpp +++ b/AFBClient.cpp @@ -44,7 +44,7 @@ class AFBClient::Impl { int deactivateSurface(const char *label); int endDraw(const char *label); - void set_event_handler(enum EventType et, handler_fun f); + void set_event_handler(enum EventType et, handler_fun func); Impl(); ~Impl(); @@ -79,7 +79,7 @@ constexpr const char *const wmAPI = "winman"; struct ScopeTrace { thread_local static int indent; char const *f{}; - ScopeTrace(char const *func) : f(func) { + explicit ScopeTrace(char const *func) : f(func) { fprintf(stderr, "%*s%s -->\n", 2 * indent++, "", this->f); } ~ScopeTrace() { fprintf(stderr, "%*s%s <--\n", 2 * --indent, "", this->f); } @@ -115,7 +115,7 @@ void onHangup(void *closure, afb_wsj1 *wsj1) { exit(0); } -constexpr static struct afb_wsj1_itf itf = { +constexpr struct afb_wsj1_itf itf = { onHangup, onCall, onEvent, }; @@ -131,7 +131,7 @@ void dispatch_internal(struct sd_event *loop) { /// object will be json_object_put int api_call(struct sd_event *loop, struct afb_wsj1 *wsj1, const char *verb, json_object *object, - std::function<void(bool, json_object *)> onReply) { + const std::function<void(bool, json_object *)> &onReply) { TRACE(); // We need to wrap the actual onReply call once in order to @@ -140,7 +140,7 @@ int api_call(struct sd_event *loop, struct afb_wsj1 *wsj1, const char *verb, // Alternatively we could setup a local struct and use it as // closure, but I think it is cleaner this way. int call_rc = 0; - std::atomic<bool> returned; + std::atomic<bool> returned{}; returned.store(false, std::memory_order_relaxed); std::function<void(bool, json_object *)> wrappedOnReply = [&returned, &call_rc, &onReply](bool ok, json_object *j) { @@ -163,7 +163,7 @@ int api_call(struct sd_event *loop, struct afb_wsj1 *wsj1, const char *verb, auto *onReply = reinterpret_cast<std::function<void(bool, json_object *)> *>( closure); - (*onReply)(!!afb_wsj1_msg_is_reply_ok(msg), + (*onReply)(!(afb_wsj1_msg_is_reply_ok(msg) == 0), afb_wsj1_msg_object_j(msg)); }, &wrappedOnReply); @@ -214,14 +214,14 @@ int AFBClient::Impl::init(int port, char const *token) { char *uribuf = nullptr; int rc = -1; - if (!token || strlen(token) > token_maxlen) { + if ((token == nullptr) || strlen(token) > token_maxlen) { fprintf(stderr, "Token is invalid\n"); rc = -EINVAL; goto fail; } - for (char const *p = token; *p; p++) { - if (!isalnum(*p)) { + for (char const *p = token; *p != 0; p++) { + if (isalnum(*p) == 0) { fprintf(stderr, "Token is invalid\n"); rc = -EINVAL; goto fail; @@ -294,15 +294,16 @@ int AFBClient::Impl::requestSurface(const char *label) { } } else { fprintf(stderr, "Could not get surface ID from WM: %s\n", - j ? json_object_to_json_string_ext( - j, JSON_C_TO_STRING_PRETTY) - : "no-info"); + j != nullptr ? json_object_to_json_string_ext( + j, JSON_C_TO_STRING_PRETTY) + : "no-info"); rc = -EINVAL; } }); - if (rc2 < 0) + if (rc2 < 0) { rc = rc2; + } if (rc >= 0) { this->labels.insert(this->labels.end(), label); @@ -315,30 +316,30 @@ int AFBClient::Impl::activateSurface(const char *label) { TRACE(); json_object *j = json_object_new_object(); json_object_object_add(j, "drawing_name", json_object_new_string(label)); - return api_call(loop, wsj1, "activate_surface", j, [](bool ok, - json_object *j) { - if (!ok) { - fprintf( - stderr, "API Call activate_surface() failed: %s\n", - j ? json_object_to_json_string_ext(j, JSON_C_TO_STRING_PRETTY) - : "no-info"); - } - }); + return api_call( + loop, wsj1, "activate_surface", j, [](bool ok, json_object *j) { + if (!ok) { + fprintf(stderr, "API Call activate_surface() failed: %s\n", + j != nullptr ? json_object_to_json_string_ext( + j, JSON_C_TO_STRING_PRETTY) + : "no-info"); + } + }); } int AFBClient::Impl::deactivateSurface(const char *label) { TRACE(); json_object *j = json_object_new_object(); json_object_object_add(j, "drawing_name", json_object_new_string(label)); - return api_call(loop, wsj1, "deactivate_surface", j, [](bool ok, - json_object *j) { - if (!ok) { - fprintf( - stderr, "API Call deactivate_surface() failed: %s\n", - j ? json_object_to_json_string_ext(j, JSON_C_TO_STRING_PRETTY) - : "no-info"); - } - }); + return api_call( + loop, wsj1, "deactivate_surface", j, [](bool ok, json_object *j) { + if (!ok) { + fprintf(stderr, "API Call deactivate_surface() failed: %s\n", + j != nullptr ? json_object_to_json_string_ext( + j, JSON_C_TO_STRING_PRETTY) + : "no-info"); + } + }); } int AFBClient::Impl::endDraw(const char *label) { @@ -347,10 +348,10 @@ int AFBClient::Impl::endDraw(const char *label) { json_object_object_add(j, "drawing_name", json_object_new_string(label)); return api_call(loop, wsj1, "enddraw", j, [](bool ok, json_object *j) { if (!ok) { - fprintf( - stderr, "API Call endDraw() failed: %s\n", - j ? json_object_to_json_string_ext(j, JSON_C_TO_STRING_PRETTY) - : "no-info"); + fprintf(stderr, "API Call endDraw() failed: %s\n", + j != nullptr ? json_object_to_json_string_ext( + j, JSON_C_TO_STRING_PRETTY) + : "no-info"); } }); } @@ -369,16 +370,16 @@ std::pair<bool, AFBClient::EventType> make_event_type(char const *et) { // Event have the form "$API/$EVENT", just try to find the first / and // get on with it. char const *et2 = strchr(et, '/'); - if (et2) { + if (et2 != nullptr) { et = et2 + 1; } -#define ET(N, A) \ - do { \ - if (strcasecmp(et, N) == 0) \ - return std::make_pair<bool, AFBClient::EventType>( \ - true, CONCAT(AFBClient::Event_, A)); \ - } while (0) +#define ET(N, A) \ + do { \ + if (strcasecmp(et, N) == 0) \ + return std::pair<bool, AFBClient::EventType>( \ + true, CONCAT(AFBClient::Event_, A)); \ + } while (false) ET("activated", Active); ET("deactivated", Inactive); @@ -388,8 +389,8 @@ std::pair<bool, AFBClient::EventType> make_event_type(char const *et) { ET("flushdraw", FlushDraw); #undef ET - return std::make_pair<bool, AFBClient::EventType>(false, - AFBClient::Event_Active); + return std::pair<bool, AFBClient::EventType>(false, + AFBClient::Event_Active); } } // namespace diff --git a/AFBClient.h b/AFBClient.h index 983c2ad..964e2b0 100644 --- a/AFBClient.h +++ b/AFBClient.h @@ -3,8 +3,7 @@ #include <functional> -class AFBClient -{ +class AFBClient { AFBClient(); ~AFBClient(); @@ -12,17 +11,17 @@ class AFBClient AFBClient &operator=(const AFBClient &) = delete; public: - typedef std::function<void(char const *label)> handler_fun; + using handler_fun = std::function<void(const char *)>; enum EventType { - Event_Active = 1, - Event_Inactive, + Event_Active = 1, + Event_Inactive, - Event_Visible, - Event_Invisible, + Event_Visible, + Event_Invisible, - Event_SyncDraw, - Event_FlushDraw, + Event_SyncDraw, + Event_FlushDraw, }; static AFBClient &instance(); |