vpn: refactor property implementation in NMVpnConnection

(cherry picked from commit 9d6f613df4)
This commit is contained in:
Thomas Haller 2016-08-19 15:02:28 +02:00
parent 907b5a597e
commit bf1713a701

View file

@ -88,16 +88,13 @@ enum {
static guint signals[LAST_SIGNAL] = { 0 };
enum {
PROP_0,
NM_GOBJECT_PROPERTIES_DEFINE (NMVpnConnection,
PROP_VPN_STATE,
PROP_BANNER,
PROP_IP4_CONFIG,
PROP_IP6_CONFIG,
PROP_MASTER = 2000,
LAST_PROP
};
#define PROP_IP4_CONFIG 2000
#define PROP_IP6_CONFIG 2001
#define PROP_MASTER 2002
);
typedef struct {
gboolean service_can_persist;
@ -530,7 +527,7 @@ _set_vpn_state (NMVpnConnection *self,
new_external_state,
old_external_state,
reason);
g_object_notify (G_OBJECT (self), NM_VPN_CONNECTION_VPN_STATE);
_notify (self, PROP_VPN_STATE);
}
switch (vpn_state) {
@ -1283,7 +1280,7 @@ process_generic_config (NMVpnConnection *self, GVariant *dict)
g_clear_pointer (&priv->banner, g_free);
if (g_variant_lookup (dict, NM_VPN_PLUGIN_CONFIG_BANNER, "&s", &str)) {
priv->banner = g_strdup (str);
g_object_notify (G_OBJECT (self), NM_VPN_CONNECTION_BANNER);
_notify (self, PROP_BANNER);
}
/* External world-visible address of the VPN server */
@ -1520,7 +1517,7 @@ nm_vpn_connection_ip4_config_get (NMVpnConnection *self, GVariant *dict)
} else {
priv->ip4_config = config;
nm_exported_object_export (NM_EXPORTED_OBJECT (config));
g_object_notify (G_OBJECT (self), NM_ACTIVE_CONNECTION_IP4_CONFIG);
g_object_notify ((GObject *) self, NM_ACTIVE_CONNECTION_IP4_CONFIG);
}
nm_vpn_connection_config_maybe_complete (self, TRUE);
@ -1670,7 +1667,7 @@ next:
} else {
priv->ip6_config = config;
nm_exported_object_export (NM_EXPORTED_OBJECT (config));
g_object_notify (G_OBJECT (self), NM_ACTIVE_CONNECTION_IP6_CONFIG);
g_object_notify ((GObject *) self, NM_ACTIVE_CONNECTION_IP6_CONFIG);
}
nm_vpn_connection_config_maybe_complete (self, TRUE);
@ -2672,51 +2669,49 @@ nm_vpn_connection_class_init (NMVpnConnectionClass *connection_class)
active_class->device_state_changed = device_state_changed;
active_class->device_changed = device_changed;
g_object_class_override_property (object_class, PROP_MASTER, NM_ACTIVE_CONNECTION_MASTER);
obj_properties[PROP_VPN_STATE] =
g_param_spec_uint (NM_VPN_CONNECTION_VPN_STATE, "", "",
NM_VPN_CONNECTION_STATE_UNKNOWN,
NM_VPN_CONNECTION_STATE_DISCONNECTED,
NM_VPN_CONNECTION_STATE_UNKNOWN,
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS);
/* properties */
g_object_class_install_property
(object_class, PROP_VPN_STATE,
g_param_spec_uint (NM_VPN_CONNECTION_VPN_STATE, "", "",
NM_VPN_CONNECTION_STATE_UNKNOWN,
NM_VPN_CONNECTION_STATE_DISCONNECTED,
NM_VPN_CONNECTION_STATE_UNKNOWN,
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS));
obj_properties[PROP_BANNER] =
g_param_spec_string (NM_VPN_CONNECTION_BANNER, "", "",
NULL,
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS);
g_object_class_install_property
(object_class, PROP_BANNER,
g_param_spec_string (NM_VPN_CONNECTION_BANNER, "", "",
NULL,
G_PARAM_READABLE |
G_PARAM_STATIC_STRINGS));
g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties);
g_object_class_override_property (object_class, PROP_MASTER,
NM_ACTIVE_CONNECTION_MASTER);
g_object_class_override_property (object_class, PROP_IP4_CONFIG,
NM_ACTIVE_CONNECTION_IP4_CONFIG);
g_object_class_override_property (object_class, PROP_IP6_CONFIG,
NM_ACTIVE_CONNECTION_IP6_CONFIG);
/* signals */
signals[VPN_STATE_CHANGED] =
g_signal_new ("vpn-state-changed",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
g_signal_new ("vpn-state-changed",
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT);
signals[INTERNAL_STATE_CHANGED] =
g_signal_new (NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
g_signal_new (NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT);
signals[INTERNAL_RETRY_AFTER_FAILURE] =
g_signal_new (NM_VPN_CONNECTION_INTERNAL_RETRY_AFTER_FAILURE,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
g_signal_new (NM_VPN_CONNECTION_INTERNAL_RETRY_AFTER_FAILURE,
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_FIRST,
0, NULL, NULL, NULL,
G_TYPE_NONE, 0);
nm_exported_object_class_add_interface (NM_EXPORTED_OBJECT_CLASS (connection_class),
NMDBUS_TYPE_VPN_CONNECTION_SKELETON,