diff options
author | Thomas Haller <thaller@redhat.com> | 2015-07-24 15:45:46 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-07-24 18:07:16 +0200 |
commit | 8bca864111a248ac4965f4f5887580c9829624da (patch) | |
tree | 0d55606a975748574d16f52de327d62f92ab9258 /include | |
parent | 981817e99829391164774ecdf40ac2ee05fd71b7 (diff) | |
download | NetworkManager-8bca864111a248ac4965f4f5887580c9829624da.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/".
Diffstat (limited to 'include')
-rw-r--r-- | include/nm-macros-internal.h | 58 |
1 files changed, 0 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) { |