summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2016-01-04 16:51:04 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2016-01-05 11:19:33 +0100
commit7a9d2392093f3cb8dd232efc113482b8480ff696 (patch)
tree0119293c6d258629ce2211b751c542b4dce6d6f3
parent09bb13a4ae909d656f6b4454ebf8183ddc68c4ea (diff)
downloadNetworkManager-bg/helper-macros-bgo760149.tar.gz
core: cache pointer to private-data in NMIP{4,6}Config structurebg/helper-macros-bgo760149
This is the same as 04c70c76bccf86a5870d957c35d4cff69ae5e558 for the NMIP4Config and NMIP6Config structures. The new field makes debugging of issues related to IP configuration much easier.
-rw-r--r--src/nm-ip4-config.c17
-rw-r--r--src/nm-ip4-config.h5
-rw-r--r--src/nm-ip6-config.c17
-rw-r--r--src/nm-ip6-config.h5
4 files changed, 32 insertions, 12 deletions
diff --git a/src/nm-ip4-config.c b/src/nm-ip4-config.c
index 794f4e9ec4..81955fa6b4 100644
--- a/src/nm-ip4-config.c
+++ b/src/nm-ip4-config.c
@@ -39,9 +39,9 @@
G_DEFINE_TYPE (NMIP4Config, nm_ip4_config, NM_TYPE_EXPORTED_OBJECT)
-#define NM_IP4_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_IP4_CONFIG, NMIP4ConfigPrivate))
+#define NM_IP4_CONFIG_GET_PRIVATE(o) ((o)->priv)
-typedef struct {
+typedef struct _NMIP4ConfigPrivate {
gboolean never_default;
guint32 gateway;
gboolean has_gateway;
@@ -2120,7 +2120,10 @@ nm_ip4_config_equal (const NMIP4Config *a, const NMIP4Config *b)
static void
nm_ip4_config_init (NMIP4Config *config)
{
- NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config);
+ NMIP4ConfigPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (config, NM_TYPE_IP4_CONFIG, NMIP4ConfigPrivate);
+ config->priv = priv;
priv->addresses = g_array_new (FALSE, FALSE, sizeof (NMPlatformIP4Address));
priv->routes = g_array_new (FALSE, FALSE, sizeof (NMPlatformIP4Route));
@@ -2136,7 +2139,8 @@ nm_ip4_config_init (NMIP4Config *config)
static void
finalize (GObject *object)
{
- NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (object);
+ NMIP4Config *self = NM_IP4_CONFIG (object);
+ NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (self);
g_array_unref (priv->addresses);
g_array_unref (priv->routes);
@@ -2156,7 +2160,7 @@ get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
NMIP4Config *config = NM_IP4_CONFIG (object);
- NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (object);
+ NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (config);
switch (prop_id) {
case PROP_IFINDEX:
@@ -2322,7 +2326,8 @@ set_property (GObject *object,
const GValue *value,
GParamSpec *pspec)
{
- NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (object);
+ NMIP4Config *self = NM_IP4_CONFIG (object);
+ NMIP4ConfigPrivate *priv = NM_IP4_CONFIG_GET_PRIVATE (self);
switch (prop_id) {
case PROP_IFINDEX:
diff --git a/src/nm-ip4-config.h b/src/nm-ip4-config.h
index 160f2246bf..514ba80226 100644
--- a/src/nm-ip4-config.h
+++ b/src/nm-ip4-config.h
@@ -31,8 +31,13 @@
#define NM_IS_IP4_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IP4_CONFIG))
#define NM_IP4_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IP4_CONFIG, NMIP4ConfigClass))
+struct _NMIP4ConfigPrivate;
+
struct _NMIP4Config {
NMExportedObject parent;
+
+ /* private */
+ struct _NMIP4ConfigPrivate *priv;
};
typedef struct {
diff --git a/src/nm-ip6-config.c b/src/nm-ip6-config.c
index 51f3550603..fd63dcb4a8 100644
--- a/src/nm-ip6-config.c
+++ b/src/nm-ip6-config.c
@@ -38,9 +38,9 @@
G_DEFINE_TYPE (NMIP6Config, nm_ip6_config, NM_TYPE_EXPORTED_OBJECT)
-#define NM_IP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_IP6_CONFIG, NMIP6ConfigPrivate))
+#define NM_IP6_CONFIG_GET_PRIVATE(o) ((o)->priv)
-typedef struct {
+typedef struct _NMIP6ConfigPrivate {
gboolean never_default;
struct in6_addr gateway;
GArray *addresses;
@@ -1874,7 +1874,10 @@ nm_ip6_config_equal (const NMIP6Config *a, const NMIP6Config *b)
static void
nm_ip6_config_init (NMIP6Config *config)
{
- NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (config);
+ NMIP6ConfigPrivate *priv;
+
+ priv = G_TYPE_INSTANCE_GET_PRIVATE (config, NM_TYPE_IP6_CONFIG, NMIP6ConfigPrivate);
+ config->priv = priv;
priv->addresses = g_array_new (FALSE, TRUE, sizeof (NMPlatformIP6Address));
priv->routes = g_array_new (FALSE, TRUE, sizeof (NMPlatformIP6Route));
@@ -1888,7 +1891,8 @@ nm_ip6_config_init (NMIP6Config *config)
static void
finalize (GObject *object)
{
- NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (object);
+ NMIP6Config *self = NM_IP6_CONFIG (object);
+ NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (self);
g_array_unref (priv->addresses);
g_array_unref (priv->routes);
@@ -1925,7 +1929,7 @@ get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
{
NMIP6Config *config = NM_IP6_CONFIG (object);
- NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (object);
+ NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (config);
switch (prop_id) {
case PROP_IFINDEX:
@@ -2074,7 +2078,8 @@ set_property (GObject *object,
const GValue *value,
GParamSpec *pspec)
{
- NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (object);
+ NMIP6Config *config = NM_IP6_CONFIG (object);
+ NMIP6ConfigPrivate *priv = NM_IP6_CONFIG_GET_PRIVATE (config);
switch (prop_id) {
case PROP_IFINDEX:
diff --git a/src/nm-ip6-config.h b/src/nm-ip6-config.h
index 751d450575..3ee8370163 100644
--- a/src/nm-ip6-config.h
+++ b/src/nm-ip6-config.h
@@ -33,8 +33,13 @@
#define NM_IS_IP6_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IP6_CONFIG))
#define NM_IP6_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IP6_CONFIG, NMIP6ConfigClass))
+struct _NMIP6ConfigPrivate;
+
struct _NMIP6Config {
NMExportedObject parent;
+
+ /* private */
+ struct _NMIP6ConfigPrivate *priv;
};
typedef struct {