summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2015-07-24 15:45:46 +0200
committerThomas Haller <thaller@redhat.com>2015-07-24 15:45:46 +0200
commit1bca45986561ab6fa6ca3e624ef9ac84d98cdce9 (patch)
tree474362b8521d7ff0a9f63140337de1f47f9012f8
parent0398ee0f4c4ed56bc46834f54250c33db75f223c (diff)
downloadNetworkManager-1bca45986561ab6fa6ca3e624ef9ac84d98cdce9.tar.gz
core: move NM_DEFINE_SINGLETON macros to src/NetworkManagerUtils.h
NM_DEFINE_SINGLETON is used only by core and makes use of nm-logging. It does not belong to "include/nm-macros-internal.h". Move it to "src/".
-rw-r--r--include/nm-macros-internal.h58
-rw-r--r--src/NetworkManagerUtils.h60
2 files changed, 60 insertions, 58 deletions
diff --git a/include/nm-macros-internal.h b/include/nm-macros-internal.h
index 4f558558bf..da6eacaf25 100644
--- a/include/nm-macros-internal.h
+++ b/include/nm-macros-internal.h
@@ -115,64 +115,6 @@
/*****************************************************************************/
-#define NM_DEFINE_SINGLETON_INSTANCE(TYPE) \
-static TYPE *singleton_instance
-
-#define NM_DEFINE_SINGLETON_WEAK_REF(TYPE) \
-NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
-static void \
-_singleton_instance_weak_ref_cb (gpointer data, \
- GObject *where_the_object_was) \
-{ \
- nm_log_dbg (LOGD_CORE, "disposing %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
- singleton_instance = NULL; \
-} \
-static inline void \
-nm_singleton_instance_weak_ref_register (void) \
-{ \
- g_object_weak_ref (G_OBJECT (singleton_instance), _singleton_instance_weak_ref_cb, NULL); \
-}
-
-#define NM_DEFINE_SINGLETON_DESTRUCTOR(TYPE) \
-NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
-static void __attribute__((destructor)) \
-_singleton_destructor (void) \
-{ \
- if (singleton_instance) { \
- if (G_OBJECT (singleton_instance)->ref_count > 1) \
- nm_log_dbg (LOGD_CORE, "disown %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
- g_object_unref (singleton_instance); \
- } \
-}
-
-/* By default, the getter will assert that the singleton will be created only once. You can
- * change this by redefining NM_DEFINE_SINGLETON_ALLOW_MULTIPLE. */
-#ifndef NM_DEFINE_SINGLETON_ALLOW_MULTIPLE
-#define NM_DEFINE_SINGLETON_ALLOW_MULTIPLE FALSE
-#endif
-
-#define NM_DEFINE_SINGLETON_GETTER(TYPE, GETTER, GTYPE, ...) \
-NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
-NM_DEFINE_SINGLETON_WEAK_REF (TYPE); \
-TYPE * \
-GETTER (void) \
-{ \
- if (G_UNLIKELY (!singleton_instance)) { \
- static char _already_created = FALSE; \
-\
- g_assert (!_already_created || (NM_DEFINE_SINGLETON_ALLOW_MULTIPLE)); \
- _already_created = TRUE;\
- singleton_instance = (g_object_new (GTYPE, ##__VA_ARGS__, NULL)); \
- g_assert (singleton_instance); \
- nm_singleton_instance_weak_ref_register (); \
- nm_log_dbg (LOGD_CORE, "create %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
- } \
- return singleton_instance; \
-} \
-NM_DEFINE_SINGLETON_DESTRUCTOR(TYPE)
-
-/*****************************************************************************/
-
static inline gboolean
nm_clear_g_source (guint *id)
{
diff --git a/src/NetworkManagerUtils.h b/src/NetworkManagerUtils.h
index d9adfc0975..2ad132b8ec 100644
--- a/src/NetworkManagerUtils.h
+++ b/src/NetworkManagerUtils.h
@@ -29,6 +29,66 @@
#include "nm-connection.h"
#include "nm-types.h"
+/*****************************************************************************/
+
+#define NM_DEFINE_SINGLETON_INSTANCE(TYPE) \
+static TYPE *singleton_instance
+
+#define NM_DEFINE_SINGLETON_WEAK_REF(TYPE) \
+NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
+static void \
+_singleton_instance_weak_ref_cb (gpointer data, \
+ GObject *where_the_object_was) \
+{ \
+ nm_log_dbg (LOGD_CORE, "disposing %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
+ singleton_instance = NULL; \
+} \
+static inline void \
+nm_singleton_instance_weak_ref_register (void) \
+{ \
+ g_object_weak_ref (G_OBJECT (singleton_instance), _singleton_instance_weak_ref_cb, NULL); \
+}
+
+#define NM_DEFINE_SINGLETON_DESTRUCTOR(TYPE) \
+NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
+static void __attribute__((destructor)) \
+_singleton_destructor (void) \
+{ \
+ if (singleton_instance) { \
+ if (G_OBJECT (singleton_instance)->ref_count > 1) \
+ nm_log_dbg (LOGD_CORE, "disown %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
+ g_object_unref (singleton_instance); \
+ } \
+}
+
+/* By default, the getter will assert that the singleton will be created only once. You can
+ * change this by redefining NM_DEFINE_SINGLETON_ALLOW_MULTIPLE. */
+#ifndef NM_DEFINE_SINGLETON_ALLOW_MULTIPLE
+#define NM_DEFINE_SINGLETON_ALLOW_MULTIPLE FALSE
+#endif
+
+#define NM_DEFINE_SINGLETON_GETTER(TYPE, GETTER, GTYPE, ...) \
+NM_DEFINE_SINGLETON_INSTANCE (TYPE); \
+NM_DEFINE_SINGLETON_WEAK_REF (TYPE); \
+TYPE * \
+GETTER (void) \
+{ \
+ if (G_UNLIKELY (!singleton_instance)) { \
+ static char _already_created = FALSE; \
+\
+ g_assert (!_already_created || (NM_DEFINE_SINGLETON_ALLOW_MULTIPLE)); \
+ _already_created = TRUE;\
+ singleton_instance = (g_object_new (GTYPE, ##__VA_ARGS__, NULL)); \
+ g_assert (singleton_instance); \
+ nm_singleton_instance_weak_ref_register (); \
+ nm_log_dbg (LOGD_CORE, "create %s singleton (%p)", G_STRINGIFY (TYPE), singleton_instance); \
+ } \
+ return singleton_instance; \
+} \
+NM_DEFINE_SINGLETON_DESTRUCTOR(TYPE)
+
+/*****************************************************************************/
+
gboolean nm_ethernet_address_is_valid (gconstpointer addr, gssize len);
in_addr_t nm_utils_ip4_address_clear_host_address (in_addr_t addr, guint8 plen);