exported-object: merge extending counter for D-Bus paths to 64bit

This commit is contained in:
Thomas Haller 2017-01-03 16:18:19 +01:00
commit f709393ed4
12 changed files with 20 additions and 16 deletions

View file

@ -13070,7 +13070,7 @@ nm_device_class_init (NMDeviceClass *klass)
g_type_class_add_private (object_class, sizeof (NMDevicePrivate));
exported_object_class->export_path = NM_DBUS_PATH "/Devices/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/Devices");
object_class->dispose = dispose;
object_class->finalize = finalize;

View file

@ -969,7 +969,7 @@ nm_wifi_ap_class_init (NMWifiAPClass *ap_class)
GObjectClass *object_class = G_OBJECT_CLASS (ap_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (ap_class);
exported_object_class->export_path = NM_DBUS_PATH_ACCESS_POINT "/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH_ACCESS_POINT);
object_class->get_property = get_property;
object_class->finalize = finalize;

View file

@ -1168,7 +1168,7 @@ nm_active_connection_class_init (NMActiveConnectionClass *ac_class)
g_type_class_add_private (ac_class, sizeof (NMActiveConnectionPrivate));
exported_object_class->export_path = NM_DBUS_PATH "/ActiveConnection/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/ActiveConnection");
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -455,7 +455,7 @@ nm_checkpoint_class_init (NMCheckpointClass *checkpoint_class)
GObjectClass *object_class = G_OBJECT_CLASS (checkpoint_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (checkpoint_class);
exported_object_class->export_path = NM_DBUS_PATH "/Checkpoint/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/Checkpoint");
exported_object_class->export_on_construction = FALSE;
object_class->dispose = dispose;

View file

@ -156,7 +156,7 @@ nm_dhcp4_config_class_init (NMDhcp4ConfigClass *config_class)
object_class->get_property = get_property;
object_class->finalize = finalize;
exported_object_class->export_path = NM_DBUS_PATH "/DHCP4Config/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/DHCP4Config");
exported_object_class->export_on_construction = TRUE;
obj_properties[PROP_OPTIONS] =

View file

@ -154,7 +154,7 @@ nm_dhcp6_config_class_init (NMDhcp6ConfigClass *config_class)
object_class->get_property = get_property;
object_class->finalize = finalize;
exported_object_class->export_path = NM_DBUS_PATH "/DHCP6Config/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/DHCP6Config");
exported_object_class->export_on_construction = TRUE;
obj_properties[PROP_OPTIONS] =

View file

@ -564,7 +564,7 @@ _create_export_path (NMExportedObjectClass *klass)
{
const char *class_export_path, *p;
static GHashTable *prefix_counters;
guint *counter;
guint64 *counter;
class_export_path = klass->export_path;
@ -575,17 +575,19 @@ _create_export_path (NMExportedObjectClass *klass)
if (G_UNLIKELY (!prefix_counters))
prefix_counters = g_hash_table_new (g_str_hash, g_str_equal);
g_assert (p[1] == 'u');
g_assert (strchr (p + 1, '%') == NULL);
nm_assert (p[1] == 'l');
nm_assert (p[2] == 'l');
nm_assert (p[3] == 'u');
nm_assert (p[4] == '\0');
counter = g_hash_table_lookup (prefix_counters, class_export_path);
if (!counter) {
counter = g_slice_new0 (guint);
g_hash_table_insert (prefix_counters, g_strdup (class_export_path), counter);
counter = g_slice_new0 (guint64);
g_hash_table_insert (prefix_counters, (char *) class_export_path, counter);
}
NM_PRAGMA_WARNING_DISABLE("-Wformat-nonliteral")
return g_strdup_printf (class_export_path, (*counter)++);
return g_strdup_printf (class_export_path, (long long unsigned) (++(*counter)));
NM_PRAGMA_WARNING_REENABLE
}

View file

@ -23,6 +23,8 @@
/*****************************************************************************/
#define NM_EXPORT_PATH_NUMBERED(basepath) ""basepath"/%llu"
char *nm_exported_object_skeletonify_method_name (const char *dbus_method_name);
typedef struct {

View file

@ -2473,7 +2473,7 @@ nm_ip4_config_class_init (NMIP4ConfigClass *config_class)
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (config_class);
exported_object_class->export_path = NM_DBUS_PATH "/IP4Config/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/IP4Config");
object_class->get_property = get_property;
object_class->set_property = set_property;

View file

@ -2237,7 +2237,7 @@ nm_ip6_config_class_init (NMIP6ConfigClass *config_class)
GObjectClass *object_class = G_OBJECT_CLASS (config_class);
NMExportedObjectClass *exported_object_class = NM_EXPORTED_OBJECT_CLASS (config_class);
exported_object_class->export_path = NM_DBUS_PATH "/IP6Config/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/IP6Config");
/* virtual methods */
object_class->get_property = get_property;

View file

@ -1232,7 +1232,7 @@ nm_ppp_manager_class_init (NMPPPManagerClass *manager_class)
object_class->get_property = get_property;
object_class->set_property = set_property;
exported_object_class->export_path = NM_DBUS_PATH "/PPP/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH"/PPP");
obj_properties[PROP_PARENT_IFACE] =
g_param_spec_string (NM_PPP_MANAGER_PARENT_IFACE, "", "",

View file

@ -2793,7 +2793,7 @@ nm_settings_connection_class_init (NMSettingsConnectionClass *class)
g_type_class_add_private (class, sizeof (NMSettingsConnectionPrivate));
exported_object_class->export_path = NM_DBUS_PATH_SETTINGS "/%u";
exported_object_class->export_path = NM_EXPORT_PATH_NUMBERED (NM_DBUS_PATH_SETTINGS);
object_class->constructed = constructed;
object_class->dispose = dispose;