diff options
| author | Michael Biebl <biebl@debian.org> | 2017-01-17 20:25:09 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2017-01-17 20:25:09 +0100 |
| commit | 58f8be580039b0575b197b9573a1c92745d96d30 (patch) | |
| tree | 2c226233f623a0dcb529be0eb8cdf97e4a2ae0c0 /src/nm-firewall-manager.c | |
| parent | 45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (diff) | |
New upstream version 1.5.90 upstream/1.5.90
Diffstat (limited to 'src/nm-firewall-manager.c')
| -rw-r--r-- | src/nm-firewall-manager.c | 94 |
1 files changed, 49 insertions, 45 deletions
diff --git a/src/nm-firewall-manager.c b/src/nm-firewall-manager.c index f1d0170b..5ba3d23e 100644 --- a/src/nm-firewall-manager.c +++ b/src/nm-firewall-manager.c @@ -26,19 +26,19 @@ #include "NetworkManagerUtils.h" -#define NM_FIREWALL_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ - NM_TYPE_FIREWALL_MANAGER, \ - NMFirewallManagerPrivate)) +/*****************************************************************************/ -G_DEFINE_TYPE (NMFirewallManager, nm_firewall_manager, G_TYPE_OBJECT) +NM_GOBJECT_PROPERTIES_DEFINE (NMFirewallManager, + PROP_AVAILABLE, +); -/* Properties */ enum { - PROP_0 = 0, - PROP_AVAILABLE, - LAST_PROP + STARTED, + LAST_SIGNAL }; +static guint signals[LAST_SIGNAL] = { 0 }; + typedef struct { GDBusProxy * proxy; gboolean running; @@ -46,17 +46,24 @@ typedef struct { GHashTable *pending_calls; } NMFirewallManagerPrivate; -enum { - STARTED, +struct _NMFirewallManager { + GObject parent; + NMFirewallManagerPrivate _priv; +}; - LAST_SIGNAL +struct _NMFirewallManagerClass { + GObjectClass parent; }; -static guint signals[LAST_SIGNAL] = { 0 }; +G_DEFINE_TYPE (NMFirewallManager, nm_firewall_manager, G_TYPE_OBJECT) + +#define NM_FIREWALL_MANAGER_GET_PRIVATE(self) _NM_GET_PRIVATE (self, NMFirewallManager, NM_IS_FIREWALL_MANAGER) + +/*****************************************************************************/ NM_DEFINE_SINGLETON_GETTER (NMFirewallManager, nm_firewall_manager_get, NM_TYPE_FIREWALL_MANAGER); -/********************************************************************/ +/*****************************************************************************/ typedef enum { CB_INFO_OPS_ADD = 1, @@ -89,7 +96,7 @@ struct _NMFirewallManagerCallId { }; typedef struct _NMFirewallManagerCallId CBInfo; -/********************************************************************/ +/*****************************************************************************/ static const char * _ops_type_to_string (CBInfoOpsType ops_type) @@ -131,7 +138,7 @@ _ops_type_to_string (CBInfoOpsType ops_type) } \ } G_STMT_END -/********************************************************************/ +/*****************************************************************************/ static gboolean _cb_info_is_idle (CBInfo *info) @@ -396,7 +403,7 @@ nm_firewall_manager_cancel_call (NMFirewallManagerCallId call) } } -/*******************************************************************/ +/*****************************************************************************/ static void set_running (NMFirewallManager *self, gboolean now_running) @@ -406,7 +413,7 @@ set_running (NMFirewallManager *self, gboolean now_running) priv->running = now_running; if (old_running != priv->running) - g_object_notify (G_OBJECT (self), NM_FIREWALL_MANAGER_AVAILABLE); + _notify (self, PROP_AVAILABLE); } static void @@ -428,7 +435,22 @@ name_owner_changed (GObject *object, } } -/*******************************************************************/ +/*****************************************************************************/ + +static void +get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) +{ + switch (prop_id) { + case PROP_AVAILABLE: + g_value_set_boolean (value, NM_FIREWALL_MANAGER_GET_PRIVATE ((NMFirewallManager *) object)->running); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/*****************************************************************************/ static void nm_firewall_manager_init (NMFirewallManager * self) @@ -456,32 +478,18 @@ constructed (GObject *object) FIREWALL_DBUS_PATH, FIREWALL_DBUS_INTERFACE_ZONE, NULL, &error); - if (priv->proxy) { + if (priv->proxy) { g_signal_connect (priv->proxy, "notify::g-name-owner", - G_CALLBACK (name_owner_changed), self); + G_CALLBACK (name_owner_changed), self); owner = g_dbus_proxy_get_name_owner (priv->proxy); priv->running = (owner != NULL); - } else { - _LOGW (NULL, "could not connect to system D-Bus (%s)", error->message); - } + } else + _LOGW (NULL, "could not connect to system D-Bus (%s)", error->message); _LOGD (NULL, "firewall constructed (%srunning)", priv->running ? "" : "not"); } static void -get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) -{ - switch (prop_id) { - case PROP_AVAILABLE: - g_value_set_boolean (value, NM_FIREWALL_MANAGER_GET_PRIVATE (object)->running); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void dispose (GObject *object) { NMFirewallManager *self = NM_FIREWALL_MANAGER (object); @@ -497,7 +505,6 @@ dispose (GObject *object) g_clear_object (&priv->proxy); - /* Chain up to the parent class */ G_OBJECT_CLASS (nm_firewall_manager_parent_class)->dispose (object); } @@ -506,27 +513,24 @@ nm_firewall_manager_class_init (NMFirewallManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - g_type_class_add_private (object_class, sizeof (NMFirewallManagerPrivate)); - object_class->constructed = constructed; object_class->get_property = get_property; object_class->dispose = dispose; - g_object_class_install_property - (object_class, PROP_AVAILABLE, + obj_properties[PROP_AVAILABLE] = g_param_spec_boolean (NM_FIREWALL_MANAGER_AVAILABLE, "", "", FALSE, G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties); signals[STARTED] = g_signal_new (NM_FIREWALL_MANAGER_STARTED, G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (NMFirewallManagerClass, started), + 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - } - |