core: cache pointer to private-data in NMIP{4,6}Config structure

This is the same as 04c70c76bc for the
NMIP4Config and NMIP6Config structures. The new field makes debugging
of issues related to IP configuration much easier.
This commit is contained in:
Beniamino Galvani
2016-01-04 16:51:04 +01:00
parent 24d8604637
commit c37c36e7ec
4 changed files with 32 additions and 12 deletions

View File

@@ -39,9 +39,9 @@
G_DEFINE_TYPE (NMIP4Config, nm_ip4_config, NM_TYPE_EXPORTED_OBJECT) 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; gboolean never_default;
guint32 gateway; guint32 gateway;
gboolean has_gateway; gboolean has_gateway;
@@ -2120,7 +2120,10 @@ nm_ip4_config_equal (const NMIP4Config *a, const NMIP4Config *b)
static void static void
nm_ip4_config_init (NMIP4Config *config) 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->addresses = g_array_new (FALSE, FALSE, sizeof (NMPlatformIP4Address));
priv->routes = g_array_new (FALSE, FALSE, sizeof (NMPlatformIP4Route)); priv->routes = g_array_new (FALSE, FALSE, sizeof (NMPlatformIP4Route));
@@ -2136,7 +2139,8 @@ nm_ip4_config_init (NMIP4Config *config)
static void static void
finalize (GObject *object) 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->addresses);
g_array_unref (priv->routes); g_array_unref (priv->routes);
@@ -2156,7 +2160,7 @@ get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec) GValue *value, GParamSpec *pspec)
{ {
NMIP4Config *config = NM_IP4_CONFIG (object); 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) { switch (prop_id) {
case PROP_IFINDEX: case PROP_IFINDEX:
@@ -2322,7 +2326,8 @@ set_property (GObject *object,
const GValue *value, const GValue *value,
GParamSpec *pspec) 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) { switch (prop_id) {
case PROP_IFINDEX: case PROP_IFINDEX:

View File

@@ -31,8 +31,13 @@
#define NM_IS_IP4_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IP4_CONFIG)) #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)) #define NM_IP4_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IP4_CONFIG, NMIP4ConfigClass))
struct _NMIP4ConfigPrivate;
struct _NMIP4Config { struct _NMIP4Config {
NMExportedObject parent; NMExportedObject parent;
/* private */
struct _NMIP4ConfigPrivate *priv;
}; };
typedef struct { typedef struct {

View File

@@ -38,9 +38,9 @@
G_DEFINE_TYPE (NMIP6Config, nm_ip6_config, NM_TYPE_EXPORTED_OBJECT) 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; gboolean never_default;
struct in6_addr gateway; struct in6_addr gateway;
GArray *addresses; GArray *addresses;
@@ -1874,7 +1874,10 @@ nm_ip6_config_equal (const NMIP6Config *a, const NMIP6Config *b)
static void static void
nm_ip6_config_init (NMIP6Config *config) 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->addresses = g_array_new (FALSE, TRUE, sizeof (NMPlatformIP6Address));
priv->routes = g_array_new (FALSE, TRUE, sizeof (NMPlatformIP6Route)); priv->routes = g_array_new (FALSE, TRUE, sizeof (NMPlatformIP6Route));
@@ -1888,7 +1891,8 @@ nm_ip6_config_init (NMIP6Config *config)
static void static void
finalize (GObject *object) 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->addresses);
g_array_unref (priv->routes); g_array_unref (priv->routes);
@@ -1925,7 +1929,7 @@ get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec) GValue *value, GParamSpec *pspec)
{ {
NMIP6Config *config = NM_IP6_CONFIG (object); 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) { switch (prop_id) {
case PROP_IFINDEX: case PROP_IFINDEX:
@@ -2074,7 +2078,8 @@ set_property (GObject *object,
const GValue *value, const GValue *value,
GParamSpec *pspec) 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) { switch (prop_id) {
case PROP_IFINDEX: case PROP_IFINDEX:

View File

@@ -33,8 +33,13 @@
#define NM_IS_IP6_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_IP6_CONFIG)) #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)) #define NM_IP6_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_IP6_CONFIG, NMIP6ConfigClass))
struct _NMIP6ConfigPrivate;
struct _NMIP6Config { struct _NMIP6Config {
NMExportedObject parent; NMExportedObject parent;
/* private */
struct _NMIP6ConfigPrivate *priv;
}; };
typedef struct { typedef struct {