core: add 'type' and 'id' property for NMActiveConnection (rh #1061822)

https://bugzilla.redhat.com/show_bug.cgi?id=1061822
This commit is contained in:
Jiří Klimeš 2014-03-03 15:01:36 +01:00
parent eca6a49e2d
commit 28bd3cab28
6 changed files with 69 additions and 4 deletions

View file

@ -22,12 +22,24 @@
not change over the lifetime of the ActiveConnection once set.
</tp:docstring>
</property>
<property name="Id" type="s" access="read">
<tp:docstring>
The ID of the connection, provided as a convenience so that clients
do not have to retrieve all connection details.
</tp:docstring>
</property>
<property name="Uuid" type="s" access="read">
<tp:docstring>
The UUID of the connection, provided as a convenience so that clients
do not have to retrieve all connection details.
</tp:docstring>
</property>
<property name="Type" type="s" access="read">
<tp:docstring>
The type of the connection, provided as a convenience so that clients
do not have to retrieve all connection details.
</tp:docstring>
</property>
<property name="Devices" type="ao" access="read">
<tp:docstring>
Array of object paths representing devices which are part of this active

View file

@ -11,6 +11,7 @@ global:
nm_connection_error_get_type;
nm_connection_error_quark;
nm_connection_for_each_setting_value;
nm_connection_get_connection_type;
nm_connection_get_id;
nm_connection_get_path;
nm_connection_get_setting;

View file

@ -1243,6 +1243,29 @@ nm_connection_get_id (NMConnection *connection)
return nm_setting_connection_get_id (s_con);
}
/**
* nm_connection_get_connection_type:
* @connection: the #NMConnection
*
* A shortcut to return the type from the connection's #NMSettingConnection.
*
* Returns: the type from the connection's 'connection' setting
*
* Since: 0.9.10
**/
const char *
nm_connection_get_connection_type (NMConnection *connection)
{
NMSettingConnection *s_con;
g_return_val_if_fail (NM_IS_CONNECTION (connection), NULL);
s_con = nm_connection_get_setting_connection (connection);
g_return_val_if_fail (s_con != NULL, NULL);
return nm_setting_connection_get_connection_type (s_con);
}
/**
* nm_connection_get_virtual_device_description:
* @connection: an #NMConnection for a virtual device type

View file

@ -197,9 +197,10 @@ GType nm_connection_lookup_setting_type (const char *name);
GType nm_connection_lookup_setting_type_by_quark (GQuark error_quark);
/* Helpers */
const char * nm_connection_get_uuid (NMConnection *connection);
const char * nm_connection_get_id (NMConnection *connection);
const char * nm_connection_get_uuid (NMConnection *connection);
const char * nm_connection_get_id (NMConnection *connection);
NM_AVAILABLE_IN_0_9_10
const char * nm_connection_get_connection_type (NMConnection *connection);
NM_AVAILABLE_IN_0_9_10
char * nm_connection_get_virtual_device_description (NMConnection *connection);

View file

@ -15,7 +15,7 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Copyright (C) 2008 - 2012 Red Hat, Inc.
* Copyright (C) 2008 - 2014 Red Hat, Inc.
*/
#include <glib.h>
@ -68,7 +68,9 @@ typedef struct {
enum {
PROP_0,
PROP_CONNECTION,
PROP_ID,
PROP_UUID,
PROP_TYPE,
PROP_SPECIFIC_OBJECT,
PROP_DEVICES,
PROP_STATE,
@ -714,9 +716,15 @@ get_property (GObject *object, guint prop_id,
case PROP_CONNECTION:
g_value_set_boxed (value, nm_connection_get_path (priv->connection));
break;
case PROP_ID:
g_value_set_string (value, nm_connection_get_id (priv->connection));
break;
case PROP_UUID:
g_value_set_string (value, nm_connection_get_uuid (priv->connection));
break;
case PROP_TYPE:
g_value_set_string (value, nm_connection_get_connection_type (priv->connection));
break;
case PROP_SPECIFIC_OBJECT:
g_value_set_boxed (value, priv->specific_object ? priv->specific_object : "/");
break;
@ -838,6 +846,13 @@ nm_active_connection_class_init (NMActiveConnectionClass *ac_class)
DBUS_TYPE_G_OBJECT_PATH,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_ID,
g_param_spec_string (NM_ACTIVE_CONNECTION_ID,
"Connection ID",
"Connection ID",
NULL,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_UUID,
g_param_spec_string (NM_ACTIVE_CONNECTION_UUID,
"Connection UUID",
@ -845,6 +860,13 @@ nm_active_connection_class_init (NMActiveConnectionClass *ac_class)
NULL,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_TYPE,
g_param_spec_string (NM_ACTIVE_CONNECTION_TYPE,
"Connection Type",
"Connection Type",
NULL,
G_PARAM_READABLE));
g_object_class_install_property (object_class, PROP_SPECIFIC_OBJECT,
g_param_spec_boxed (NM_ACTIVE_CONNECTION_SPECIFIC_OBJECT,
"Specific object",

View file

@ -35,7 +35,9 @@
/* D-Bus Exported Properties */
#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"
@ -94,6 +96,10 @@ void nm_active_connection_set_connection (NMActiveConnection *self,
const char * nm_active_connection_get_name (NMActiveConnection *self);
const char * nm_active_connection_get_uuid (NMActiveConnection *self);
const char * nm_active_connection_get_connection_type (NMActiveConnection *self);
const char * nm_active_connection_get_path (NMActiveConnection *self);
const char * nm_active_connection_get_specific_object (NMActiveConnection *self);