libnm-glib: add GError parameter to _nm_object_get_... functions

It allows us to get the error back and have control over printing
the error.
This commit is contained in:
Jiří Klimeš
2011-02-15 17:34:11 +01:00
parent ec115ed442
commit d6905a8d66
17 changed files with 235 additions and 147 deletions

View File

@@ -140,7 +140,7 @@ libnm_glib_la_LIBADD = \
$(GUDEV_LIBS) $(GUDEV_LIBS)
libnm_glib_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm-glib.ver \ libnm_glib_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm-glib.ver \
-version-info "3:0:0" -version-info "3:1:0"
noinst_PROGRAMS = libnm-glib-test noinst_PROGRAMS = libnm-glib-test

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2008 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -114,7 +114,8 @@ nm_access_point_get_flags (NMAccessPoint *ap)
if (!priv->flags) { if (!priv->flags) {
priv->flags = _nm_object_get_uint_property (NM_OBJECT (ap), priv->flags = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_FLAGS); DBUS_PROP_FLAGS,
NULL);
} }
return priv->flags; return priv->flags;
@@ -139,7 +140,8 @@ nm_access_point_get_wpa_flags (NMAccessPoint *ap)
if (!priv->wpa_flags) { if (!priv->wpa_flags) {
priv->wpa_flags = _nm_object_get_uint_property (NM_OBJECT (ap), priv->wpa_flags = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_WPA_FLAGS); DBUS_PROP_WPA_FLAGS,
NULL);
} }
return priv->wpa_flags; return priv->wpa_flags;
@@ -164,7 +166,8 @@ nm_access_point_get_rsn_flags (NMAccessPoint *ap)
if (!priv->rsn_flags) { if (!priv->rsn_flags) {
priv->rsn_flags = _nm_object_get_uint_property (NM_OBJECT (ap), priv->rsn_flags = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_RSN_FLAGS); DBUS_PROP_RSN_FLAGS,
NULL);
} }
return priv->rsn_flags; return priv->rsn_flags;
@@ -190,7 +193,8 @@ nm_access_point_get_ssid (NMAccessPoint *ap)
if (!priv->ssid) { if (!priv->ssid) {
priv->ssid = _nm_object_get_byte_array_property (NM_OBJECT (ap), priv->ssid = _nm_object_get_byte_array_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_SSID); DBUS_PROP_SSID,
NULL);
} }
return priv->ssid; return priv->ssid;
@@ -215,7 +219,8 @@ nm_access_point_get_frequency (NMAccessPoint *ap)
if (!priv->frequency) { if (!priv->frequency) {
priv->frequency = _nm_object_get_uint_property (NM_OBJECT (ap), priv->frequency = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_FREQUENCY); DBUS_PROP_FREQUENCY,
NULL);
} }
return priv->frequency; return priv->frequency;
@@ -241,7 +246,8 @@ nm_access_point_get_hw_address (NMAccessPoint *ap)
if (!priv->hw_address) { if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (ap), priv->hw_address = _nm_object_get_string_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_HW_ADDRESS); DBUS_PROP_HW_ADDRESS,
NULL);
} }
return priv->hw_address; return priv->hw_address;
@@ -266,7 +272,8 @@ nm_access_point_get_mode (NMAccessPoint *ap)
if (!priv->mode) { if (!priv->mode) {
priv->mode = _nm_object_get_uint_property (NM_OBJECT (ap), priv->mode = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_MODE); DBUS_PROP_MODE,
NULL);
} }
return priv->mode; return priv->mode;
@@ -291,7 +298,8 @@ nm_access_point_get_max_bitrate (NMAccessPoint *ap)
if (!priv->max_bitrate) { if (!priv->max_bitrate) {
priv->max_bitrate = _nm_object_get_uint_property (NM_OBJECT (ap), priv->max_bitrate = _nm_object_get_uint_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_MAX_BITRATE); DBUS_PROP_MAX_BITRATE,
NULL);
} }
return priv->max_bitrate; return priv->max_bitrate;
@@ -316,7 +324,8 @@ nm_access_point_get_strength (NMAccessPoint *ap)
if (!priv->strength) { if (!priv->strength) {
priv->strength = _nm_object_get_byte_property (NM_OBJECT (ap), priv->strength = _nm_object_get_byte_property (NM_OBJECT (ap),
NM_DBUS_INTERFACE_ACCESS_POINT, NM_DBUS_INTERFACE_ACCESS_POINT,
DBUS_PROP_STRENGTH); DBUS_PROP_STRENGTH,
NULL);
} }
return priv->strength; return priv->strength;

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2010 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
* Copyright (C) 2008 Novell, Inc. * Copyright (C) 2008 Novell, Inc.
*/ */
@@ -111,7 +111,8 @@ nm_active_connection_get_connection (NMActiveConnection *connection)
if (!priv->connection) { if (!priv->connection) {
priv->connection = _nm_object_get_string_property (NM_OBJECT (connection), priv->connection = _nm_object_get_string_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_CONNECTION); DBUS_PROP_CONNECTION,
NULL);
} }
return priv->connection; return priv->connection;
@@ -137,7 +138,8 @@ nm_active_connection_get_specific_object (NMActiveConnection *connection)
if (!priv->specific_object) { if (!priv->specific_object) {
priv->specific_object = _nm_object_get_string_property (NM_OBJECT (connection), priv->specific_object = _nm_object_get_string_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_SPECIFIC_OBJECT); DBUS_PROP_SPECIFIC_OBJECT,
NULL);
} }
return priv->specific_object; return priv->specific_object;
@@ -167,7 +169,8 @@ nm_active_connection_get_devices (NMActiveConnection *connection)
if (!_nm_object_get_property (NM_OBJECT (connection), if (!_nm_object_get_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_DEVICES, DBUS_PROP_DEVICES,
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
@@ -196,7 +199,8 @@ nm_active_connection_get_state (NMActiveConnection *connection)
if (!priv->state) { if (!priv->state) {
priv->state = _nm_object_get_uint_property (NM_OBJECT (connection), priv->state = _nm_object_get_uint_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_STATE); DBUS_PROP_STATE,
NULL);
} }
return priv->state; return priv->state;
@@ -222,7 +226,8 @@ nm_active_connection_get_default (NMActiveConnection *connection)
if (!priv->is_default) { if (!priv->is_default) {
priv->is_default = _nm_object_get_boolean_property (NM_OBJECT (connection), priv->is_default = _nm_object_get_boolean_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_DEFAULT); DBUS_PROP_DEFAULT,
NULL);
} }
return priv->is_default; return priv->is_default;
@@ -248,7 +253,8 @@ nm_active_connection_get_default6 (NMActiveConnection *connection)
if (!priv->is_default6) { if (!priv->is_default6) {
priv->is_default6 = _nm_object_get_boolean_property (NM_OBJECT (connection), priv->is_default6 = _nm_object_get_boolean_property (NM_OBJECT (connection),
NM_DBUS_INTERFACE_ACTIVE_CONNECTION, NM_DBUS_INTERFACE_ACTIVE_CONNECTION,
DBUS_PROP_DEFAULT6); DBUS_PROP_DEFAULT6,
NULL);
} }
return priv->is_default6; return priv->is_default6;

View File

@@ -157,8 +157,9 @@ update_wireless_status (NMClient *client, gboolean notify)
gboolean poke = FALSE; gboolean poke = FALSE;
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WirelessHardwareEnabled"); "WirelessHardwareEnabled",
NULL);
if (val != priv->wireless_hw_enabled) { if (val != priv->wireless_hw_enabled) {
priv->wireless_hw_enabled = val; priv->wireless_hw_enabled = val;
poke = TRUE; poke = TRUE;
@@ -170,8 +171,9 @@ update_wireless_status (NMClient *client, gboolean notify)
val = FALSE; val = FALSE;
else else
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WirelessEnabled"); "WirelessEnabled",
NULL);
if (val != priv->wireless_enabled) { if (val != priv->wireless_enabled) {
priv->wireless_enabled = val; priv->wireless_enabled = val;
poke = TRUE; poke = TRUE;
@@ -197,7 +199,8 @@ update_wwan_status (NMClient *client, gboolean notify)
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WwanHardwareEnabled"); "WwanHardwareEnabled",
NULL);
if (val != priv->wwan_hw_enabled) { if (val != priv->wwan_hw_enabled) {
priv->wwan_hw_enabled = val; priv->wwan_hw_enabled = val;
if (notify) if (notify)
@@ -209,7 +212,8 @@ update_wwan_status (NMClient *client, gboolean notify)
else { else {
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WwanEnabled"); "WwanEnabled",
NULL);
} }
if (val != priv->wwan_enabled) { if (val != priv->wwan_enabled) {
@@ -228,7 +232,8 @@ update_wimax_status (NMClient *client, gboolean notify)
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WimaxHardwareEnabled"); "WimaxHardwareEnabled",
NULL);
if (val != priv->wimax_hw_enabled) { if (val != priv->wimax_hw_enabled) {
priv->wimax_hw_enabled = val; priv->wimax_hw_enabled = val;
if (notify) if (notify)
@@ -240,7 +245,8 @@ update_wimax_status (NMClient *client, gboolean notify)
else { else {
val = _nm_object_get_boolean_property (NM_OBJECT (client), val = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"WimaxEnabled"); "WimaxEnabled",
NULL);
} }
if (val != priv->wimax_enabled) { if (val != priv->wimax_enabled) {
@@ -1275,11 +1281,12 @@ nm_client_get_active_connections (NMClient *client)
if (!_nm_object_get_property (NM_OBJECT (client), if (!_nm_object_get_property (NM_OBJECT (client),
"org.freedesktop.NetworkManager", "org.freedesktop.NetworkManager",
"ActiveConnections", "ActiveConnections",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
demarshal_active_connections (NM_OBJECT (client), NULL, &value, &priv->active_connections); demarshal_active_connections (NM_OBJECT (client), NULL, &value, &priv->active_connections);
g_value_unset (&value); g_value_unset (&value);
return handle_ptr_array_return (priv->active_connections); return handle_ptr_array_return (priv->active_connections);
@@ -1471,7 +1478,7 @@ nm_client_get_state (NMClient *client)
return NM_STATE_UNKNOWN; return NM_STATE_UNKNOWN;
if (priv->state == NM_STATE_UNKNOWN) if (priv->state == NM_STATE_UNKNOWN)
priv->state = _nm_object_get_uint_property (NM_OBJECT (client), NM_DBUS_INTERFACE, "State"); priv->state = _nm_object_get_uint_property (NM_OBJECT (client), NM_DBUS_INTERFACE, "State", NULL);
return priv->state; return priv->state;
} }
@@ -1497,7 +1504,8 @@ nm_client_networking_get_enabled (NMClient *client)
if (!priv->networking_enabled) { if (!priv->networking_enabled) {
priv->networking_enabled = _nm_object_get_boolean_property (NM_OBJECT (client), priv->networking_enabled = _nm_object_get_boolean_property (NM_OBJECT (client),
NM_DBUS_INTERFACE, NM_DBUS_INTERFACE,
"NetworkingEnabled"); "NetworkingEnabled",
NULL);
priv->have_networking_enabled = TRUE; priv->have_networking_enabled = TRUE;
} }
} }

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2009 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include "nm-device-bt.h" #include "nm-device-bt.h"
@@ -96,7 +96,8 @@ nm_device_bt_get_hw_address (NMDeviceBt *device)
if (!priv->hw_address) { if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device), priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_BLUETOOTH, NM_DBUS_INTERFACE_DEVICE_BLUETOOTH,
DBUS_PROP_HW_ADDRESS); DBUS_PROP_HW_ADDRESS,
NULL);
} }
return priv->hw_address; return priv->hw_address;
@@ -121,7 +122,8 @@ nm_device_bt_get_name (NMDeviceBt *device)
if (!priv->name) { if (!priv->name) {
priv->name = _nm_object_get_string_property (NM_OBJECT (device), priv->name = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_BLUETOOTH, NM_DBUS_INTERFACE_DEVICE_BLUETOOTH,
DBUS_PROP_NAME); DBUS_PROP_NAME,
NULL);
} }
return priv->name; return priv->name;
@@ -146,7 +148,8 @@ nm_device_bt_get_capabilities (NMDeviceBt *device)
if (!priv->bt_capabilities_valid) { if (!priv->bt_capabilities_valid) {
priv->bt_capabilities = _nm_object_get_uint_property (NM_OBJECT (device), priv->bt_capabilities = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_BLUETOOTH, NM_DBUS_INTERFACE_DEVICE_BLUETOOTH,
DBUS_PROP_BT_CAPABILITIES); DBUS_PROP_BT_CAPABILITIES,
NULL);
priv->bt_capabilities_valid = TRUE; priv->bt_capabilities_valid = TRUE;
} }

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2010 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include "nm-device-ethernet.h" #include "nm-device-ethernet.h"
@@ -99,7 +99,8 @@ nm_device_ethernet_get_hw_address (NMDeviceEthernet *device)
if (!priv->hw_address) { if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device), priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRED, NM_DBUS_INTERFACE_DEVICE_WIRED,
DBUS_PROP_HW_ADDRESS); DBUS_PROP_HW_ADDRESS,
NULL);
} }
return priv->hw_address; return priv->hw_address;
@@ -125,7 +126,8 @@ nm_device_ethernet_get_permanent_hw_address (NMDeviceEthernet *device)
if (!priv->perm_hw_address) { if (!priv->perm_hw_address) {
priv->perm_hw_address = _nm_object_get_string_property (NM_OBJECT (device), priv->perm_hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRED, NM_DBUS_INTERFACE_DEVICE_WIRED,
DBUS_PROP_PERM_HW_ADDRESS); DBUS_PROP_PERM_HW_ADDRESS,
NULL);
} }
return priv->perm_hw_address; return priv->perm_hw_address;
@@ -150,7 +152,8 @@ nm_device_ethernet_get_speed (NMDeviceEthernet *device)
if (!priv->speed) { if (!priv->speed) {
priv->speed = _nm_object_get_uint_property (NM_OBJECT (device), priv->speed = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRED, NM_DBUS_INTERFACE_DEVICE_WIRED,
DBUS_PROP_SPEED); DBUS_PROP_SPEED,
NULL);
} }
return priv->speed; return priv->speed;
@@ -175,7 +178,8 @@ nm_device_ethernet_get_carrier (NMDeviceEthernet *device)
if (!priv->carrier_valid) { if (!priv->carrier_valid) {
priv->carrier = _nm_object_get_boolean_property (NM_OBJECT (device), priv->carrier = _nm_object_get_boolean_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRED, NM_DBUS_INTERFACE_DEVICE_WIRED,
DBUS_PROP_CARRIER); DBUS_PROP_CARRIER,
NULL);
priv->carrier_valid = TRUE; priv->carrier_valid = TRUE;
} }

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2010 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -125,7 +125,8 @@ nm_device_wifi_get_hw_address (NMDeviceWifi *device)
if (!priv->hw_address) { if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device), priv->hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_HW_ADDRESS); DBUS_PROP_HW_ADDRESS,
NULL);
} }
return priv->hw_address; return priv->hw_address;
@@ -151,7 +152,8 @@ nm_device_wifi_get_permanent_hw_address (NMDeviceWifi *device)
if (!priv->perm_hw_address) { if (!priv->perm_hw_address) {
priv->perm_hw_address = _nm_object_get_string_property (NM_OBJECT (device), priv->perm_hw_address = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_PERM_HW_ADDRESS); DBUS_PROP_PERM_HW_ADDRESS,
NULL);
} }
return priv->perm_hw_address; return priv->perm_hw_address;
@@ -176,7 +178,8 @@ nm_device_wifi_get_mode (NMDeviceWifi *device)
if (!priv->mode) { if (!priv->mode) {
priv->mode = _nm_object_get_uint_property (NM_OBJECT (device), priv->mode = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_MODE); DBUS_PROP_MODE,
NULL);
} }
return priv->mode; return priv->mode;
@@ -215,7 +218,8 @@ nm_device_wifi_get_bitrate (NMDeviceWifi *device)
if (!priv->rate) { if (!priv->rate) {
priv->rate = _nm_object_get_uint_property (NM_OBJECT (device), priv->rate = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_BITRATE); DBUS_PROP_BITRATE,
NULL);
} }
return priv->rate; return priv->rate;
@@ -240,7 +244,8 @@ nm_device_wifi_get_capabilities (NMDeviceWifi *device)
if (!priv->wireless_caps) { if (!priv->wireless_caps) {
priv->wireless_caps = _nm_object_get_uint_property (NM_OBJECT (device), priv->wireless_caps = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_WIRELESS_CAPABILITIES); DBUS_PROP_WIRELESS_CAPABILITIES,
NULL);
} }
return priv->wireless_caps; return priv->wireless_caps;
@@ -285,7 +290,8 @@ nm_device_wifi_get_active_access_point (NMDeviceWifi *device)
path = _nm_object_get_object_path_property (NM_OBJECT (device), path = _nm_object_get_object_path_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE_WIRELESS, NM_DBUS_INTERFACE_DEVICE_WIRELESS,
DBUS_PROP_ACTIVE_ACCESS_POINT); DBUS_PROP_ACTIVE_ACCESS_POINT,
NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);

View File

@@ -125,8 +125,9 @@ nm_device_wimax_get_hw_address (NMDeviceWimax *wimax)
priv = NM_DEVICE_WIMAX_GET_PRIVATE (wimax); priv = NM_DEVICE_WIMAX_GET_PRIVATE (wimax);
if (!priv->hw_address) { if (!priv->hw_address) {
priv->hw_address = _nm_object_get_string_property (NM_OBJECT (wimax), priv->hw_address = _nm_object_get_string_property (NM_OBJECT (wimax),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_HW_ADDRESS); DBUS_PROP_HW_ADDRESS,
NULL);
} }
return priv->hw_address; return priv->hw_address;
@@ -170,8 +171,9 @@ nm_device_wimax_get_active_nsp (NMDeviceWimax *wimax)
return NULL; return NULL;
path = _nm_object_get_object_path_property (NM_OBJECT (wimax), path = _nm_object_get_object_path_property (NM_OBJECT (wimax),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_ACTIVE_NSP); DBUS_PROP_ACTIVE_NSP,
NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);
@@ -359,7 +361,8 @@ nm_device_wimax_get_center_frequency (NMDeviceWimax *self)
if (!priv->center_freq) { if (!priv->center_freq) {
priv->center_freq = _nm_object_get_uint_property (NM_OBJECT (self), priv->center_freq = _nm_object_get_uint_property (NM_OBJECT (self),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_CENTER_FREQUENCY); DBUS_PROP_CENTER_FREQUENCY,
NULL);
} }
return priv->center_freq; return priv->center_freq;
} }
@@ -386,7 +389,8 @@ nm_device_wimax_get_rssi (NMDeviceWimax *self)
if (!priv->rssi) { if (!priv->rssi) {
priv->rssi = _nm_object_get_int_property (NM_OBJECT (self), priv->rssi = _nm_object_get_int_property (NM_OBJECT (self),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_RSSI); DBUS_PROP_RSSI,
NULL);
} }
return priv->rssi; return priv->rssi;
} }
@@ -412,7 +416,8 @@ nm_device_wimax_get_cinr (NMDeviceWimax *self)
if (!priv->cinr) { if (!priv->cinr) {
priv->cinr = _nm_object_get_int_property (NM_OBJECT (self), priv->cinr = _nm_object_get_int_property (NM_OBJECT (self),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_CINR); DBUS_PROP_CINR,
NULL);
} }
return priv->cinr; return priv->cinr;
} }
@@ -438,7 +443,8 @@ nm_device_wimax_get_tx_power (NMDeviceWimax *self)
if (!priv->tx_power) { if (!priv->tx_power) {
priv->tx_power = _nm_object_get_int_property (NM_OBJECT (self), priv->tx_power = _nm_object_get_int_property (NM_OBJECT (self),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_TX_POWER); DBUS_PROP_TX_POWER,
NULL);
} }
return priv->tx_power; return priv->tx_power;
} }
@@ -462,7 +468,8 @@ nm_device_wimax_get_bsid (NMDeviceWimax *self)
if (!priv->bsid) { if (!priv->bsid) {
priv->bsid = _nm_object_get_string_property (NM_OBJECT (self), priv->bsid = _nm_object_get_string_property (NM_OBJECT (self),
NM_DBUS_INTERFACE_DEVICE_WIMAX, NM_DBUS_INTERFACE_DEVICE_WIMAX,
DBUS_PROP_BSID); DBUS_PROP_BSID,
NULL);
} }
return priv->bsid; return priv->bsid;
} }

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2010 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -765,7 +765,8 @@ nm_device_get_iface (NMDevice *device)
if (!priv->iface) { if (!priv->iface) {
priv->iface = _nm_object_get_string_property (NM_OBJECT (device), priv->iface = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"Interface"); "Interface",
NULL);
} }
return priv->iface; return priv->iface;
@@ -792,7 +793,8 @@ nm_device_get_ip_iface (NMDevice *device)
if (!priv->ip_iface) { if (!priv->ip_iface) {
priv->ip_iface = _nm_object_get_string_property (NM_OBJECT (device), priv->ip_iface = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"IpInterface"); "IpInterface",
NULL);
} }
return priv->ip_iface; return priv->ip_iface;
@@ -819,7 +821,8 @@ nm_device_get_udi (NMDevice *device)
if (!priv->udi) { if (!priv->udi) {
priv->udi = _nm_object_get_string_property (NM_OBJECT (device), priv->udi = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"Udi"); "Udi",
NULL);
} }
return priv->udi; return priv->udi;
@@ -845,7 +848,8 @@ nm_device_get_driver (NMDevice *device)
if (!priv->driver) { if (!priv->driver) {
priv->driver = _nm_object_get_string_property (NM_OBJECT (device), priv->driver = _nm_object_get_string_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"Driver"); "Driver",
NULL);
} }
return priv->driver; return priv->driver;
@@ -870,7 +874,8 @@ nm_device_get_capabilities (NMDevice *device)
if (!priv->capabilities) { if (!priv->capabilities) {
priv->capabilities = _nm_object_get_uint_property (NM_OBJECT (device), priv->capabilities = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"Capabilities"); "Capabilities",
NULL);
} }
return priv->capabilities; return priv->capabilities;
@@ -895,7 +900,8 @@ nm_device_get_managed (NMDevice *device)
if (!priv->managed) { if (!priv->managed) {
priv->managed = _nm_object_get_boolean_property (NM_OBJECT (device), priv->managed = _nm_object_get_boolean_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"Managed"); "Managed",
NULL);
} }
return priv->managed; return priv->managed;
@@ -922,7 +928,8 @@ nm_device_get_firmware_missing (NMDevice *device)
if (!priv->firmware_missing) { if (!priv->firmware_missing) {
priv->firmware_missing = _nm_object_get_boolean_property (NM_OBJECT (device), priv->firmware_missing = _nm_object_get_boolean_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"FirmwareMissing"); "FirmwareMissing",
NULL);
} }
return priv->firmware_missing; return priv->firmware_missing;
@@ -951,7 +958,7 @@ nm_device_get_ip4_config (NMDevice *device)
if (priv->null_ip4_config) if (priv->null_ip4_config)
return NULL; return NULL;
path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Ip4Config"); path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Ip4Config", NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);
@@ -986,7 +993,7 @@ nm_device_get_dhcp4_config (NMDevice *device)
if (priv->null_dhcp4_config) if (priv->null_dhcp4_config)
return NULL; return NULL;
path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Dhcp4Config"); path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Dhcp4Config", NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);
@@ -1020,7 +1027,7 @@ nm_device_get_ip6_config (NMDevice *device)
if (priv->null_ip6_config) if (priv->null_ip6_config)
return NULL; return NULL;
path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Ip6Config"); path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Ip6Config", NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);
@@ -1055,7 +1062,7 @@ nm_device_get_dhcp6_config (NMDevice *device)
if (priv->null_dhcp6_config) if (priv->null_dhcp6_config)
return NULL; return NULL;
path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Dhcp6Config"); path = _nm_object_get_object_path_property (NM_OBJECT (device), NM_DBUS_INTERFACE_DEVICE, "Dhcp6Config", NULL);
if (path) { if (path) {
g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH); g_value_init (&value, DBUS_TYPE_G_OBJECT_PATH);
g_value_take_boxed (&value, path); g_value_take_boxed (&value, path);
@@ -1085,7 +1092,8 @@ nm_device_get_state (NMDevice *device)
if (priv->state == NM_DEVICE_STATE_UNKNOWN) { if (priv->state == NM_DEVICE_STATE_UNKNOWN) {
priv->state = _nm_object_get_uint_property (NM_OBJECT (device), priv->state = _nm_object_get_uint_property (NM_OBJECT (device),
NM_DBUS_INTERFACE_DEVICE, NM_DBUS_INTERFACE_DEVICE,
"State"); "State",
NULL);
} }
return priv->state; return priv->state;

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2008 - 2010 Red Hat, Inc. * Copyright (C) 2008 - 2011 Red Hat, Inc.
* Copyright (C) 2008 Novell, Inc. * Copyright (C) 2008 Novell, Inc.
*/ */
@@ -218,7 +218,8 @@ nm_dhcp4_config_get_options (NMDHCP4Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_DHCP4_CONFIG, NM_DBUS_INTERFACE_DHCP4_CONFIG,
"Options", "Options",
&value)) &value,
NULL))
goto out; goto out;
demarshal_dhcp4_options (NM_OBJECT (config), NULL, &value, &priv->options); demarshal_dhcp4_options (NM_OBJECT (config), NULL, &value, &priv->options);

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2008 - 2010 Red Hat, Inc. * Copyright (C) 2008 - 2011 Red Hat, Inc.
* Copyright (C) 2008 Novell, Inc. * Copyright (C) 2008 Novell, Inc.
*/ */
@@ -218,7 +218,8 @@ nm_dhcp6_config_get_options (NMDHCP6Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_DHCP6_CONFIG, NM_DBUS_INTERFACE_DHCP6_CONFIG,
"Options", "Options",
&value)) &value,
NULL))
goto out; goto out;
demarshal_dhcp6_options (NM_OBJECT (config), NULL, &value, &priv->options); demarshal_dhcp6_options (NM_OBJECT (config), NULL, &value, &priv->options);

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2011 Novell, Inc.
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 Red Hat, Inc.
*/ */
@@ -355,7 +355,8 @@ nm_ip4_config_get_addresses (NMIP4Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP4_CONFIG, NM_DBUS_INTERFACE_IP4_CONFIG,
"Addresses", "Addresses",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
@@ -402,7 +403,8 @@ nm_ip4_config_get_nameservers (NMIP4Config *config)
if (_nm_object_get_property (NM_OBJECT (config), if (_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP4_CONFIG, NM_DBUS_INTERFACE_IP4_CONFIG,
"Nameservers", "Nameservers",
&value)) { &value,
NULL)) {
array = (GArray *) g_value_get_boxed (&value); array = (GArray *) g_value_get_boxed (&value);
if (array && array->len) { if (array && array->len) {
priv->nameservers = g_array_sized_new (FALSE, TRUE, sizeof (guint32), array->len); priv->nameservers = g_array_sized_new (FALSE, TRUE, sizeof (guint32), array->len);
@@ -439,7 +441,8 @@ nm_ip4_config_get_domains (NMIP4Config *config)
if (_nm_object_get_property (NM_OBJECT (config), if (_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP4_CONFIG, NM_DBUS_INTERFACE_IP4_CONFIG,
"Domains", "Domains",
&value)) { &value,
NULL)) {
char **array = NULL, **p; char **array = NULL, **p;
array = (char **) g_value_get_boxed (&value); array = (char **) g_value_get_boxed (&value);
@@ -477,7 +480,8 @@ nm_ip4_config_get_wins_servers (NMIP4Config *config)
if (_nm_object_get_property (NM_OBJECT (config), if (_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP4_CONFIG, NM_DBUS_INTERFACE_IP4_CONFIG,
"Nameservers", "Nameservers",
&value)) { &value,
NULL)) {
array = (GArray *) g_value_get_boxed (&value); array = (GArray *) g_value_get_boxed (&value);
if (array && array->len) { if (array && array->len) {
priv->nameservers = g_array_sized_new (FALSE, TRUE, sizeof (guint32), array->len); priv->nameservers = g_array_sized_new (FALSE, TRUE, sizeof (guint32), array->len);
@@ -515,7 +519,8 @@ nm_ip4_config_get_routes (NMIP4Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP4_CONFIG, NM_DBUS_INTERFACE_IP4_CONFIG,
"Routes", "Routes",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -165,7 +165,8 @@ nm_ip6_config_get_addresses (NMIP6Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP6_CONFIG, NM_DBUS_INTERFACE_IP6_CONFIG,
"Addresses", "Addresses",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
@@ -202,7 +203,8 @@ nm_ip6_config_get_nameservers (NMIP6Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP6_CONFIG, NM_DBUS_INTERFACE_IP6_CONFIG,
"Nameservers", "Nameservers",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
@@ -237,7 +239,8 @@ nm_ip6_config_get_domains (NMIP6Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP6_CONFIG, NM_DBUS_INTERFACE_IP6_CONFIG,
"Domains", "Domains",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }
@@ -272,7 +275,8 @@ nm_ip6_config_get_routes (NMIP6Config *config)
if (!_nm_object_get_property (NM_OBJECT (config), if (!_nm_object_get_property (NM_OBJECT (config),
NM_DBUS_INTERFACE_IP6_CONFIG, NM_DBUS_INTERFACE_IP6_CONFIG,
"Routes", "Routes",
&value)) { &value,
NULL)) {
return NULL; return NULL;
} }

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2008 Red Hat, Inc. * Copyright (C) 2008 - 2011 Red Hat, Inc.
*/ */
#ifndef NM_OBJECT_PRIVATE_H #ifndef NM_OBJECT_PRIVATE_H
@@ -48,46 +48,55 @@ void _nm_object_queue_notify (NMObject *object, const char *property);
/* DBus property accessors */ /* DBus property accessors */
gboolean _nm_object_get_property (NMObject *object, gboolean _nm_object_get_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name, const char *prop_name,
GValue *value); GValue *value,
GError **error);
void _nm_object_set_property (NMObject *object, void _nm_object_set_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name, const char *prop_name,
GValue *value); GValue *value);
char *_nm_object_get_string_property (NMObject *object, char *_nm_object_get_string_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
char *_nm_object_get_object_path_property (NMObject *object, char *_nm_object_get_object_path_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
gint32 _nm_object_get_int_property (NMObject *object, gint32 _nm_object_get_int_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
guint32 _nm_object_get_uint_property (NMObject *object, guint32 _nm_object_get_uint_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
gboolean _nm_object_get_boolean_property (NMObject *object, gboolean _nm_object_get_boolean_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
gint8 _nm_object_get_byte_property (NMObject *object, gint8 _nm_object_get_byte_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
gdouble _nm_object_get_double_property (NMObject *object, gdouble _nm_object_get_double_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
GByteArray *_nm_object_get_byte_array_property (NMObject *object, GByteArray *_nm_object_get_byte_array_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name); const char *prop_name,
GError **error);
static inline const GPtrArray * static inline const GPtrArray *
handle_ptr_array_return (GPtrArray *array) handle_ptr_array_return (GPtrArray *array)

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2008 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -480,9 +480,10 @@ done:
gboolean gboolean
_nm_object_get_property (NMObject *object, _nm_object_get_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name, const char *prop_name,
GValue *value) GValue *value,
GError **error)
{ {
GError *err = NULL; GError *err = NULL;
@@ -490,6 +491,7 @@ _nm_object_get_property (NMObject *object,
g_return_val_if_fail (interface != NULL, FALSE); g_return_val_if_fail (interface != NULL, FALSE);
g_return_val_if_fail (prop_name != NULL, FALSE); g_return_val_if_fail (prop_name != NULL, FALSE);
g_return_val_if_fail (value != NULL, FALSE); g_return_val_if_fail (value != NULL, FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
if (!dbus_g_proxy_call_with_timeout (NM_OBJECT_GET_PRIVATE (object)->properties_proxy, if (!dbus_g_proxy_call_with_timeout (NM_OBJECT_GET_PRIVATE (object)->properties_proxy,
"Get", 15000, &err, "Get", 15000, &err,
@@ -500,8 +502,10 @@ _nm_object_get_property (NMObject *object,
G_TYPE_INVALID)) { G_TYPE_INVALID)) {
/* Don't warn about D-Bus no reply/timeout errors; it's mostly noise and /* Don't warn about D-Bus no reply/timeout errors; it's mostly noise and
* happens for example when NM quits and the applet is still running. * happens for example when NM quits and the applet is still running.
*/ * And don't warn when 'error' is not NULL, rather propagate 'err' so the caller
if (!(err->domain == DBUS_GERROR && err->code == DBUS_GERROR_NO_REPLY)) { * can do something with it. */
if ( !error
&& !(err->domain == DBUS_GERROR && err->code == DBUS_GERROR_NO_REPLY)) {
g_warning ("%s: Error getting '%s' for %s: (%d) %s\n", g_warning ("%s: Error getting '%s' for %s: (%d) %s\n",
__func__, __func__,
prop_name, prop_name,
@@ -509,7 +513,7 @@ _nm_object_get_property (NMObject *object,
err->code, err->code,
err->message); err->message);
} }
g_error_free (err); g_propagate_error (error, err);
return FALSE; return FALSE;
} }
@@ -542,13 +546,14 @@ _nm_object_set_property (NMObject *object,
char * char *
_nm_object_get_string_property (NMObject *object, _nm_object_get_string_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
char *str = NULL; char *str = NULL;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
if (G_VALUE_HOLDS_STRING (&value)) if (G_VALUE_HOLDS_STRING (&value))
str = g_strdup (g_value_get_string (&value)); str = g_strdup (g_value_get_string (&value));
else if (G_VALUE_HOLDS (&value, DBUS_TYPE_G_OBJECT_PATH)) else if (G_VALUE_HOLDS (&value, DBUS_TYPE_G_OBJECT_PATH))
@@ -561,13 +566,14 @@ _nm_object_get_string_property (NMObject *object,
char * char *
_nm_object_get_object_path_property (NMObject *object, _nm_object_get_object_path_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
char *path = NULL; char *path = NULL;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
path = g_strdup (g_value_get_boxed (&value)); path = g_strdup (g_value_get_boxed (&value));
g_value_unset (&value); g_value_unset (&value);
} }
@@ -577,13 +583,14 @@ _nm_object_get_object_path_property (NMObject *object,
gint32 gint32
_nm_object_get_int_property (NMObject *object, _nm_object_get_int_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
gint32 i = 0; gint32 i = 0;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
i = g_value_get_int (&value); i = g_value_get_int (&value);
g_value_unset (&value); g_value_unset (&value);
} }
@@ -593,13 +600,14 @@ _nm_object_get_int_property (NMObject *object,
guint32 guint32
_nm_object_get_uint_property (NMObject *object, _nm_object_get_uint_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
guint32 i = 0; guint32 i = 0;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
i = g_value_get_uint (&value); i = g_value_get_uint (&value);
g_value_unset (&value); g_value_unset (&value);
} }
@@ -609,13 +617,14 @@ _nm_object_get_uint_property (NMObject *object,
gboolean gboolean
_nm_object_get_boolean_property (NMObject *object, _nm_object_get_boolean_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
gboolean b = FALSE; // FIXME: somehow convey failure if needed gboolean b = FALSE;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
b = g_value_get_boolean (&value); b = g_value_get_boolean (&value);
g_value_unset (&value); g_value_unset (&value);
} }
@@ -625,13 +634,14 @@ _nm_object_get_boolean_property (NMObject *object,
gint8 gint8
_nm_object_get_byte_property (NMObject *object, _nm_object_get_byte_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
gint8 b = G_MAXINT8; gint8 b = G_MAXINT8;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
b = g_value_get_uchar (&value); b = g_value_get_uchar (&value);
g_value_unset (&value); g_value_unset (&value);
} }
@@ -641,13 +651,14 @@ _nm_object_get_byte_property (NMObject *object,
gdouble gdouble
_nm_object_get_double_property (NMObject *object, _nm_object_get_double_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
gdouble d = G_MAXDOUBLE; gdouble d = G_MAXDOUBLE;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
d = g_value_get_double (&value); d = g_value_get_double (&value);
g_value_unset (&value); g_value_unset (&value);
} }
@@ -657,13 +668,14 @@ _nm_object_get_double_property (NMObject *object,
GByteArray * GByteArray *
_nm_object_get_byte_array_property (NMObject *object, _nm_object_get_byte_array_property (NMObject *object,
const char *interface, const char *interface,
const char *prop_name) const char *prop_name,
GError **error)
{ {
GByteArray * array = NULL; GByteArray *array = NULL;
GValue value = {0,}; GValue value = {0,};
if (_nm_object_get_property (object, interface, prop_name, &value)) { if (_nm_object_get_property (object, interface, prop_name, &value, error)) {
GArray * tmp = g_value_get_boxed (&value); GArray * tmp = g_value_get_boxed (&value);
int i; int i;
unsigned char byte; unsigned char byte;

View File

@@ -18,7 +18,7 @@
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2007 - 2008 Novell, Inc. * Copyright (C) 2007 - 2008 Novell, Inc.
* Copyright (C) 2007 - 2010 Red Hat, Inc. * Copyright (C) 2007 - 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -86,7 +86,8 @@ nm_vpn_connection_get_banner (NMVPNConnection *vpn)
if (!priv->banner) { if (!priv->banner) {
priv->banner = _nm_object_get_string_property (NM_OBJECT (vpn), priv->banner = _nm_object_get_string_property (NM_OBJECT (vpn),
NM_DBUS_INTERFACE_VPN_CONNECTION, NM_DBUS_INTERFACE_VPN_CONNECTION,
DBUS_PROP_BANNER); DBUS_PROP_BANNER,
NULL);
if (priv->banner && !strlen (priv->banner)) { if (priv->banner && !strlen (priv->banner)) {
g_free (priv->banner); g_free (priv->banner);
priv->banner = NULL; priv->banner = NULL;
@@ -106,7 +107,8 @@ nm_vpn_connection_get_vpn_state (NMVPNConnection *vpn)
if (priv->vpn_state == NM_VPN_CONNECTION_STATE_UNKNOWN) { if (priv->vpn_state == NM_VPN_CONNECTION_STATE_UNKNOWN) {
priv->vpn_state = _nm_object_get_uint_property (NM_OBJECT (vpn), priv->vpn_state = _nm_object_get_uint_property (NM_OBJECT (vpn),
NM_DBUS_INTERFACE_VPN_CONNECTION, NM_DBUS_INTERFACE_VPN_CONNECTION,
DBUS_PROP_VPN_STATE); DBUS_PROP_VPN_STATE,
NULL);
} }
return priv->vpn_state; return priv->vpn_state;
} }

View File

@@ -17,7 +17,7 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA. * Boston, MA 02110-1301 USA.
* *
* Copyright (C) 2009 Novell, Inc. * Copyright (C) 2011 Red Hat, Inc.
*/ */
#include <string.h> #include <string.h>
@@ -92,8 +92,9 @@ nm_wimax_nsp_get_name (NMWimaxNsp *nsp)
priv = NM_WIMAX_NSP_GET_PRIVATE (nsp); priv = NM_WIMAX_NSP_GET_PRIVATE (nsp);
if (!priv->name) if (!priv->name)
priv->name = _nm_object_get_string_property (NM_OBJECT (nsp), priv->name = _nm_object_get_string_property (NM_OBJECT (nsp),
NM_DBUS_INTERFACE_WIMAX_NSP, NM_DBUS_INTERFACE_WIMAX_NSP,
DBUS_PROP_NAME); DBUS_PROP_NAME,
NULL);
return priv->name; return priv->name;
} }
@@ -117,7 +118,8 @@ nm_wimax_nsp_get_signal_quality (NMWimaxNsp *nsp)
if (!priv->signal_quality) { if (!priv->signal_quality) {
priv->signal_quality = _nm_object_get_uint_property (NM_OBJECT (nsp), priv->signal_quality = _nm_object_get_uint_property (NM_OBJECT (nsp),
NM_DBUS_INTERFACE_WIMAX_NSP, NM_DBUS_INTERFACE_WIMAX_NSP,
DBUS_PROP_SIGNAL_QUALITY); DBUS_PROP_SIGNAL_QUALITY,
NULL);
} }
return priv->signal_quality; return priv->signal_quality;
@@ -142,7 +144,8 @@ nm_wimax_nsp_get_network_type (NMWimaxNsp *nsp)
if (!priv->network_type) { if (!priv->network_type) {
priv->network_type = _nm_object_get_uint_property (NM_OBJECT (nsp), priv->network_type = _nm_object_get_uint_property (NM_OBJECT (nsp),
NM_DBUS_INTERFACE_WIMAX_NSP, NM_DBUS_INTERFACE_WIMAX_NSP,
DBUS_PROP_NETWORK_TYPE); DBUS_PROP_NETWORK_TYPE,
NULL);
} }
return priv->network_type; return priv->network_type;