libnm-glib: support 'type', 'id' properties in NMActiveConnection (rh #1061822)

https://bugzilla.redhat.com/show_bug.cgi?id=1061822
This commit is contained in:
Jiří Klimeš 2014-03-03 15:06:11 +01:00
parent 28bd3cab28
commit ee6f684f0a
3 changed files with 92 additions and 0 deletions

View file

@ -20,11 +20,13 @@ global:
nm_access_point_get_wpa_flags;
nm_access_point_new;
nm_active_connection_get_connection;
nm_active_connection_get_connection_type;
nm_active_connection_get_default6;
nm_active_connection_get_default;
nm_active_connection_get_devices;
nm_active_connection_get_dhcp4_config;
nm_active_connection_get_dhcp6_config;
nm_active_connection_get_id;
nm_active_connection_get_ip4_config;
nm_active_connection_get_ip6_config;
nm_active_connection_get_master;

View file

@ -53,7 +53,9 @@ typedef struct {
DBusGProxy *proxy;
char *connection;
char *id;
char *uuid;
char *type;
char *specific_object;
GPtrArray *devices;
NMActiveConnectionState state;
@ -70,7 +72,9 @@ typedef struct {
enum {
PROP_0,
PROP_CONNECTION,
PROP_ID,
PROP_UUID,
PROP_TYPE,
PROP_SPECIFIC_OBJECT,
PROP_DEVICES,
PROP_STATE,
@ -219,6 +223,26 @@ nm_active_connection_get_connection (NMActiveConnection *connection)
return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->connection;
}
/**
* nm_active_connection_get_id:
* @connection: a #NMActiveConnection
*
* Gets the #NMConnection's ID.
*
* Returns: the ID of the #NMConnection that backs the #NMActiveConnection.
* This is the internal string used by the connection, and must not be modified.
*
* Since: 0.9.10
**/
const char *
nm_active_connection_get_id (NMActiveConnection *connection)
{
g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (connection), NULL);
_nm_object_ensure_inited (NM_OBJECT (connection));
return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->id;
}
/**
* nm_active_connection_get_uuid:
* @connection: a #NMActiveConnection
@ -237,6 +261,26 @@ nm_active_connection_get_uuid (NMActiveConnection *connection)
return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->uuid;
}
/**
* nm_active_connection_get_connection_type:
* @connection: a #NMActiveConnection
*
* Gets the #NMConnection's type.
*
* Returns: the type of the #NMConnection that backs the #NMActiveConnection.
* This is the internal string used by the connection, and must not be modified.
*
* Since: 0.9.10
**/
const char *
nm_active_connection_get_connection_type (NMActiveConnection *connection)
{
g_return_val_if_fail (NM_IS_ACTIVE_CONNECTION (connection), NULL);
_nm_object_ensure_inited (NM_OBJECT (connection));
return NM_ACTIVE_CONNECTION_GET_PRIVATE (connection)->type;
}
/**
* nm_active_connection_get_specific_object:
* @connection: a #NMActiveConnection
@ -481,7 +525,9 @@ finalize (GObject *object)
NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (object);
g_free (priv->connection);
g_free (priv->id);
g_free (priv->uuid);
g_free (priv->type);
g_free (priv->specific_object);
g_free (priv->master);
@ -502,9 +548,15 @@ get_property (GObject *object,
case PROP_CONNECTION:
g_value_set_string (value, nm_active_connection_get_connection (self));
break;
case PROP_ID:
g_value_set_string (value, nm_active_connection_get_id (self));
break;
case PROP_UUID:
g_value_set_string (value, nm_active_connection_get_uuid (self));
break;
case PROP_TYPE:
g_value_set_string (value, nm_active_connection_get_connection_type (self));
break;
case PROP_SPECIFIC_OBJECT:
g_value_set_boxed (value, nm_active_connection_get_specific_object (self));
break;
@ -550,7 +602,9 @@ register_properties (NMActiveConnection *connection)
NMActiveConnectionPrivate *priv = NM_ACTIVE_CONNECTION_GET_PRIVATE (connection);
const NMPropertiesInfo property_info[] = {
{ NM_ACTIVE_CONNECTION_CONNECTION, &priv->connection },
{ NM_ACTIVE_CONNECTION_ID, &priv->id },
{ NM_ACTIVE_CONNECTION_UUID, &priv->uuid },
{ NM_ACTIVE_CONNECTION_TYPE, &priv->type },
{ NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT, &priv->specific_object },
{ NM_ACTIVE_CONNECTION_DEVICES, &priv->devices, NULL, NM_TYPE_DEVICE },
{ NM_ACTIVE_CONNECTION_STATE, &priv->state },
@ -611,6 +665,21 @@ nm_active_connection_class_init (NMActiveConnectionClass *ap_class)
NULL,
G_PARAM_READABLE));
/**
* NMActiveConnection:id:
*
* The active connection's ID
*
* Since: 0.9.10
**/
g_object_class_install_property
(object_class, PROP_ID,
g_param_spec_string (NM_ACTIVE_CONNECTION_ID,
"ID",
"ID",
NULL,
G_PARAM_READABLE));
/**
* NMActiveConnection:uuid:
*
@ -624,6 +693,21 @@ nm_active_connection_class_init (NMActiveConnectionClass *ap_class)
NULL,
G_PARAM_READABLE));
/**
* NMActiveConnection:type:
*
* The active connection's type
*
* Since: 0.9.10
**/
g_object_class_install_property
(object_class, PROP_TYPE,
g_param_spec_string (NM_ACTIVE_CONNECTION_TYPE,
"Type",
"Type",
NULL,
G_PARAM_READABLE));
/**
* NMActiveConnection:specific-object:
*

View file

@ -44,7 +44,9 @@ G_BEGIN_DECLS
#define NM_ACTIVE_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_ACTIVE_CONNECTION, NMActiveConnectionClass))
#define NM_ACTIVE_CONNECTION_CONNECTION "connection"
#define NM_ACTIVE_CONNECTION_ID "id"
#define NM_ACTIVE_CONNECTION_UUID "uuid"
#define NM_ACTIVE_CONNECTION_TYPE "type"
#define NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT "specific-object"
#define NM_ACTIVE_CONNECTION_DEVICES "devices"
#define NM_ACTIVE_CONNECTION_STATE "state"
@ -78,7 +80,11 @@ GType nm_active_connection_get_type (void);
GObject *nm_active_connection_new (DBusGConnection *connection, const char *path);
const char * nm_active_connection_get_connection (NMActiveConnection *connection);
NM_AVAILABLE_IN_0_9_10
const char * nm_active_connection_get_id (NMActiveConnection *connection);
const char * nm_active_connection_get_uuid (NMActiveConnection *connection);
NM_AVAILABLE_IN_0_9_10
const char * nm_active_connection_get_connection_type (NMActiveConnection *connection);
const char * nm_active_connection_get_specific_object (NMActiveConnection *connection);
const GPtrArray *nm_active_connection_get_devices (NMActiveConnection *connection);
NMActiveConnectionState nm_active_connection_get_state (NMActiveConnection *connection);