From: Karol Lewandowski Date: Thu, 14 Feb 2019 13:45:36 +0000 (+0100) Subject: common: Add helper macros for D-Bus handlers X-Git-Tag: submit/tizen/20190215.113808~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F199808%2F3;p=platform%2Fcore%2Fsystem%2Fresourced.git common: Add helper macros for D-Bus handlers Change-Id: Ic1364f9f26db759ac1a8949410d2a97303950d78 --- diff --git a/src/common/macro.h b/src/common/macro.h index cad7aa9..bec65d4 100644 --- a/src/common/macro.h +++ b/src/common/macro.h @@ -30,6 +30,7 @@ #include #include #include +#include #ifndef API #define API __attribute__((visibility("default"))) @@ -71,6 +72,14 @@ } \ } while (0) +#define ret_unless(val) \ + do { \ + if (!(val)) { \ + _E("Invalid parameter value (`" #val "` check failed)"); \ + return; \ + } \ + } while (0) + #define ret_value_if(expr, val) do { \ if (expr) { \ _E("(%s) -> %s():%d return", #expr, __FUNCTION__, __LINE__); \ @@ -92,6 +101,16 @@ } \ } while (0) +#define ret_if_gvariant_type_mismatch(gvariant, type) \ + do { \ + if (g_variant_is_of_type(gvariant, G_VARIANT_TYPE(type))) { \ + _E("Invalid parameter type (expected: %s, got: %s)", \ + type, g_variant_get_type_string(gvariant)); \ + return; \ + } \ + } while (0) + + #define gslist_for_each_item(item, list) \ for (item = list; item != NULL; item = g_slist_next(item))