summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-09-05 16:42:59 +0200
committerThomas Haller <thaller@redhat.com>2016-09-08 00:21:21 +0200
commit822f01a8fdb63831c887d5db9fb06eb840f53c88 (patch)
treebb82086b072ee7322cffc471aa5504a41431249e
parentcdf6ad40572f23be6f8b6971bd57b1002ffb9aaf (diff)
downloadNetworkManager-822f01a8fdb63831c887d5db9fb06eb840f53c88.tar.gz
dhcp-listener: refactor type definition and embed private data in @self
-rw-r--r--src/dhcp-manager/nm-dhcp-listener.c50
-rw-r--r--src/dhcp-manager/nm-dhcp-listener.h4
2 files changed, 31 insertions, 23 deletions
diff --git a/src/dhcp-manager/nm-dhcp-listener.c b/src/dhcp-manager/nm-dhcp-listener.c
index eadff3ec54..d3616cb636 100644
--- a/src/dhcp-manager/nm-dhcp-listener.c
+++ b/src/dhcp-manager/nm-dhcp-listener.c
@@ -13,12 +13,14 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * Copyright 2014 Red Hat, Inc.
+ * Copyright 2014 - 2016 Red Hat, Inc.
*
*/
#include "nm-default.h"
+#include "nm-dhcp-listener.h"
+
#include <sys/socket.h>
#include <sys/wait.h>
#include <signal.h>
@@ -27,7 +29,6 @@
#include <errno.h>
#include <unistd.h>
-#include "nm-dhcp-listener.h"
#include "nm-core-internal.h"
#include "nm-bus-manager.h"
#include "NetworkManagerUtils.h"
@@ -36,6 +37,8 @@
#define PRIV_SOCK_PATH NMRUNDIR "/private-dhcp"
#define PRIV_SOCK_TAG "dhcp"
+/*****************************************************************************/
+
typedef struct {
NMBusManager * dbus_mgr;
gulong new_conn_id;
@@ -43,17 +46,26 @@ typedef struct {
GHashTable * signal_handlers;
} NMDhcpListenerPrivate;
-#define NM_DHCP_LISTENER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DHCP_LISTENER, NMDhcpListenerPrivate))
+struct _NMDhcpListener {
+ GObject parent;
+ NMDhcpListenerPrivate _priv;
+};
+
+struct _NMDhcpListenerClass {
+ GObjectClass parent_class;
+};
G_DEFINE_TYPE (NMDhcpListener, nm_dhcp_listener, G_TYPE_OBJECT)
+#define NM_DHCP_LISTENER_GET_PRIVATE(self) _NM_GET_PRIVATE(self, NMDhcpListener, NM_IS_DHCP_LISTENER)
+
enum {
EVENT,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL] = { 0 };
-/***************************************************/
+/*****************************************************************************/
static char *
get_option (GVariant *options, const char *key)
@@ -188,7 +200,7 @@ nm_dhcp_listener_init (NMDhcpListener *self)
{
NMDhcpListenerPrivate *priv = NM_DHCP_LISTENER_GET_PRIVATE (self);
- /* Maps GDBusConnection :: GDBusProxy */
+ /* Maps GDBusConnection :: signal-id */
priv->signal_handlers = g_hash_table_new (NULL, NULL);
priv->dbus_mgr = nm_bus_manager_get ();
@@ -208,7 +220,7 @@ nm_dhcp_listener_init (NMDhcpListener *self)
static void
dispose (GObject *object)
{
- NMDhcpListenerPrivate *priv = NM_DHCP_LISTENER_GET_PRIVATE (object);
+ NMDhcpListenerPrivate *priv = NM_DHCP_LISTENER_GET_PRIVATE ((NMDhcpListener *) object);
nm_clear_g_signal_handler (priv->dbus_mgr, &priv->new_conn_id);
nm_clear_g_signal_handler (priv->dbus_mgr, &priv->dis_conn_id);
@@ -224,22 +236,18 @@ nm_dhcp_listener_class_init (NMDhcpListenerClass *listener_class)
{
GObjectClass *object_class = G_OBJECT_CLASS (listener_class);
- g_type_class_add_private (listener_class, sizeof (NMDhcpListenerPrivate));
-
- /* virtual methods */
object_class->dispose = dispose;
- /* signals */
signals[EVENT] =
- g_signal_new (NM_DHCP_LISTENER_EVENT,
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_LAST, 0,
- g_signal_accumulator_true_handled,
- NULL, NULL,
- G_TYPE_BOOLEAN, /* listeners return TRUE if handled */
- 4,
- G_TYPE_STRING, /* iface */
- G_TYPE_INT, /* pid */
- G_TYPE_VARIANT, /* options */
- G_TYPE_STRING); /* reason */
+ g_signal_new (NM_DHCP_LISTENER_EVENT,
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST, 0,
+ g_signal_accumulator_true_handled,
+ NULL, NULL,
+ G_TYPE_BOOLEAN, /* listeners return TRUE if handled */
+ 4,
+ G_TYPE_STRING, /* iface */
+ G_TYPE_INT, /* pid */
+ G_TYPE_VARIANT, /* options */
+ G_TYPE_STRING); /* reason */
}
diff --git a/src/dhcp-manager/nm-dhcp-listener.h b/src/dhcp-manager/nm-dhcp-listener.h
index ff31fe3476..3018b97a95 100644
--- a/src/dhcp-manager/nm-dhcp-listener.h
+++ b/src/dhcp-manager/nm-dhcp-listener.h
@@ -26,8 +26,8 @@
#define NM_DHCP_LISTENER_EVENT "event"
-typedef GObject NMDhcpListener;
-typedef GObjectClass NMDhcpListenerClass;
+typedef struct _NMDhcpListener NMDhcpListener;
+typedef struct _NMDhcpListenerClass NMDhcpListenerClass;
GType nm_dhcp_listener_get_type (void);