diff options
author | Dan Winship <danw@redhat.com> | 2015-04-13 10:28:17 -0400 |
---|---|---|
committer | Dan Winship <danw@redhat.com> | 2015-07-21 10:01:48 -0400 |
commit | 2ebc8fb93ae531b8f58dc60063907cfa6c78dedf (patch) | |
tree | 73373b8e16c59493012eea4a63a8d7cf0cb1b35e | |
parent | dd839a977fbeaa2834f06266348219c216f62089 (diff) | |
download | NetworkManager-2ebc8fb93ae531b8f58dc60063907cfa6c78dedf.tar.gz |
include: add nm-dbus-compat.h
Add a file containing the defines like DBUS_INTERFACE_DBUS from
dbus-shared.h, and use it from the gdbus-using files.
Also, convert a bunch of other places that were previously hardcoding
the string values to use the defines instead, and fix the ifcfg-rh
plugin to properly namespace its own D-Bus-related defines.
-rw-r--r-- | include/Makefile.am | 1 | ||||
-rw-r--r-- | include/nm-dbus-compat.h | 74 | ||||
-rw-r--r-- | libnm-glib/nm-active-connection.c | 4 | ||||
-rw-r--r-- | libnm-glib/nm-device.c | 4 | ||||
-rw-r--r-- | libnm-glib/nm-object.c | 2 | ||||
-rw-r--r-- | libnm-glib/nm-remote-settings.c | 2 | ||||
-rw-r--r-- | libnm-glib/nm-vpn-plugin.c | 6 | ||||
-rw-r--r-- | libnm/nm-dbus-helpers.h | 11 | ||||
-rw-r--r-- | libnm/tests/common.c | 7 | ||||
-rw-r--r-- | src/devices/team/nm-device-team.c | 6 | ||||
-rw-r--r-- | src/devices/wwan/nm-modem-manager.c | 2 | ||||
-rw-r--r-- | src/nm-dbus-manager.c | 6 | ||||
-rw-r--r-- | src/settings/plugins/ifcfg-rh/plugin.c | 17 | ||||
-rw-r--r-- | src/supplicant-manager/nm-supplicant-interface.c | 5 |
14 files changed, 107 insertions, 40 deletions
diff --git a/include/Makefile.am b/include/Makefile.am index ff7eac8c27..2cd66c9fff 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,5 +1,6 @@ EXTRA_DIST = \ gsystem-local-alloc.h \ + nm-dbus-compat.h \ nm-dbus-glib-types.h \ nm-glib-compat.h \ nm-gvaluearray-compat.h \ diff --git a/include/nm-dbus-compat.h b/include/nm-dbus-compat.h new file mode 100644 index 0000000000..dd97b5fd62 --- /dev/null +++ b/include/nm-dbus-compat.h @@ -0,0 +1,74 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Copyright 2015 Red Hat, Inc. + */ + +#ifndef __NM_DBUS_COMPAT_H__ +#define __NM_DBUS_COMPAT_H__ + +/* Copied from <dbus/dbus-shared.h> */ + +/* Bus names */ + +/** The bus name used to talk to the bus itself. */ +#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" + +/* Paths */ +/** The object path used to talk to the bus itself. */ +#define DBUS_PATH_DBUS "/org/freedesktop/DBus" +/** The object path used in local/in-process-generated messages. */ +#define DBUS_PATH_LOCAL "/org/freedesktop/DBus/Local" + +/* Interfaces, these #define don't do much other than + * catch typos at compile time + */ +/** The interface exported by the object with #DBUS_SERVICE_DBUS and #DBUS_PATH_DBUS */ +#define DBUS_INTERFACE_DBUS "org.freedesktop.DBus" +/** The interface supported by introspectable objects */ +#define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable" +/** The interface supported by objects with properties */ +#define DBUS_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties" +/** The interface supported by most dbus peers */ +#define DBUS_INTERFACE_PEER "org.freedesktop.DBus.Peer" + +/** This is a special interface whose methods can only be invoked + * by the local implementation (messages from remote apps aren't + * allowed to specify this interface). + */ +#define DBUS_INTERFACE_LOCAL "org.freedesktop.DBus.Local" + +/* Owner flags */ +#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT 0x1 /**< Allow another service to become the primary owner if requested */ +#define DBUS_NAME_FLAG_REPLACE_EXISTING 0x2 /**< Request to replace the current primary owner */ +#define DBUS_NAME_FLAG_DO_NOT_QUEUE 0x4 /**< If we can not become the primary owner do not place us in the queue */ + +/* Replies to request for a name */ +#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1 /**< Service has become the primary owner of the requested name */ +#define DBUS_REQUEST_NAME_REPLY_IN_QUEUE 2 /**< Service could not become the primary owner and has been placed in the queue */ +#define DBUS_REQUEST_NAME_REPLY_EXISTS 3 /**< Service is already in the queue */ +#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4 /**< Service is already the primary owner */ + +/* Replies to releasing a name */ +#define DBUS_RELEASE_NAME_REPLY_RELEASED 1 /**< Service was released from the given name */ +#define DBUS_RELEASE_NAME_REPLY_NON_EXISTENT 2 /**< The given name does not exist on the bus */ +#define DBUS_RELEASE_NAME_REPLY_NOT_OWNER 3 /**< Service is not an owner of the given name */ + +/* Replies to service starts */ +#define DBUS_START_REPLY_SUCCESS 1 /**< Service was auto started */ +#define DBUS_START_REPLY_ALREADY_RUNNING 2 /**< Service was already running */ + +#endif /* __NM_DBUS_COMPAT_H__ */ diff --git a/libnm-glib/nm-active-connection.c b/libnm-glib/nm-active-connection.c index 7067a1100d..e5f474f7eb 100644 --- a/libnm-glib/nm-active-connection.c +++ b/libnm-glib/nm-active-connection.c @@ -120,7 +120,7 @@ _nm_active_connection_type_for_path (DBusGConnection *connection, GValue value = G_VALUE_INIT; GType type; - proxy = _nm_dbus_new_proxy_for_connection (connection, path, "org.freedesktop.DBus.Properties"); + proxy = _nm_dbus_new_proxy_for_connection (connection, path, DBUS_INTERFACE_PROPERTIES); if (!proxy) { g_warning ("%s: couldn't create D-Bus object proxy.", __func__); return G_TYPE_INVALID; @@ -197,7 +197,7 @@ _nm_active_connection_type_for_path_async (DBusGConnection *connection, async_data->callback = callback; async_data->user_data = user_data; - proxy = _nm_dbus_new_proxy_for_connection (connection, path, "org.freedesktop.DBus.Properties"); + proxy = _nm_dbus_new_proxy_for_connection (connection, path, DBUS_INTERFACE_PROPERTIES); dbus_g_proxy_begin_call (proxy, "Get", async_got_type, async_data, NULL, G_TYPE_STRING, NM_DBUS_INTERFACE_ACTIVE_CONNECTION, diff --git a/libnm-glib/nm-device.c b/libnm-glib/nm-device.c index bd5d16374e..731edb6927 100644 --- a/libnm-glib/nm-device.c +++ b/libnm-glib/nm-device.c @@ -887,7 +887,7 @@ _nm_device_type_for_path (DBusGConnection *connection, GValue value = G_VALUE_INIT; NMDeviceType nm_dtype; - proxy = _nm_dbus_new_proxy_for_connection (connection, path, "org.freedesktop.DBus.Properties"); + proxy = _nm_dbus_new_proxy_for_connection (connection, path, DBUS_INTERFACE_PROPERTIES); if (!proxy) { g_warning ("%s: couldn't create D-Bus object proxy.", __func__); return G_TYPE_INVALID; @@ -987,7 +987,7 @@ _nm_device_type_for_path_async (DBusGConnection *connection, async_data->callback = callback; async_data->user_data = user_data; - proxy = _nm_dbus_new_proxy_for_connection (connection, path, "org.freedesktop.DBus.Properties"); + proxy = _nm_dbus_new_proxy_for_connection (connection, path, DBUS_INTERFACE_PROPERTIES); dbus_g_proxy_begin_call (proxy, "Get", async_got_type, async_data, NULL, G_TYPE_STRING, NM_DBUS_INTERFACE_DEVICE, diff --git a/libnm-glib/nm-object.c b/libnm-glib/nm-object.c index fb25c1ac40..2cf7119e0d 100644 --- a/libnm-glib/nm-object.c +++ b/libnm-glib/nm-object.c @@ -173,7 +173,7 @@ constructed (GObject *object) if (G_OBJECT_CLASS (nm_object_parent_class)->constructed) G_OBJECT_CLASS (nm_object_parent_class)->constructed (object); - priv->properties_proxy = _nm_object_new_proxy (self, NULL, "org.freedesktop.DBus.Properties"); + priv->properties_proxy = _nm_object_new_proxy (self, NULL, DBUS_INTERFACE_PROPERTIES); if (_nm_object_is_connection_private (self)) priv->nm_running = TRUE; diff --git a/libnm-glib/nm-remote-settings.c b/libnm-glib/nm-remote-settings.c index 80a274f5e3..20b4638007 100644 --- a/libnm-glib/nm-remote-settings.c +++ b/libnm-glib/nm-remote-settings.c @@ -1215,7 +1215,7 @@ constructed (GObject *object) /* D-Bus properties proxy */ priv->props_proxy = _nm_dbus_new_proxy_for_connection (priv->bus, NM_DBUS_PATH_SETTINGS, - "org.freedesktop.DBus.Properties"); + DBUS_INTERFACE_PROPERTIES); g_assert (priv->props_proxy); /* Monitor properties */ diff --git a/libnm-glib/nm-vpn-plugin.c b/libnm-glib/nm-vpn-plugin.c index f40ea800f2..3acf26ead1 100644 --- a/libnm-glib/nm-vpn-plugin.c +++ b/libnm-glib/nm-vpn-plugin.c @@ -768,9 +768,9 @@ constructor (GType type, goto err; proxy = dbus_g_proxy_new_for_name (connection, - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - "org.freedesktop.DBus"); + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); if (!dbus_g_proxy_call (proxy, "RequestName", &err, G_TYPE_STRING, priv->dbus_service_name, diff --git a/libnm/nm-dbus-helpers.h b/libnm/nm-dbus-helpers.h index ca779d3a39..1b2f28e2d9 100644 --- a/libnm/nm-dbus-helpers.h +++ b/libnm/nm-dbus-helpers.h @@ -23,16 +23,7 @@ #include <gio/gio.h> -/* Copied from dbus/dbus-shared.h */ -#define DBUS_SERVICE_DBUS "org.freedesktop.DBus" -#define DBUS_PATH_DBUS "/org/freedesktop/DBus" -#define DBUS_PATH_LOCAL "/org/freedesktop/DBus/Local" - -#define DBUS_INTERFACE_DBUS "org.freedesktop.DBus" -#define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable" -#define DBUS_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties" -#define DBUS_INTERFACE_PEER "org.freedesktop.DBus.Peer" - +#include "nm-dbus-compat.h" GBusType _nm_dbus_bus_type (void); diff --git a/libnm/tests/common.c b/libnm/tests/common.c index a28e5112b3..a90266c5e8 100644 --- a/libnm/tests/common.c +++ b/libnm/tests/common.c @@ -24,6 +24,7 @@ #include <string.h> #include "NetworkManager.h" +#include "nm-dbus-compat.h" #include "common.h" @@ -34,9 +35,9 @@ name_exists (GDBusConnection *c, const char *name) gboolean exists = FALSE; reply = g_dbus_connection_call_sync (c, - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - "org.freedesktop.DBus", + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS, "GetNameOwner", g_variant_new ("(s)", name), NULL, diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c index 23750f3579..ccfab0f3b0 100644 --- a/src/devices/team/nm-device-team.c +++ b/src/devices/team/nm-device-team.c @@ -332,9 +332,9 @@ teamd_dbus_appeared (GDBusConnection *connection, guint32 pid; ret = g_dbus_connection_call_sync (connection, - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - "org.freedesktop.DBus", + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS, "GetConnectionUnixProcessID", g_variant_new ("(s)", name_owner), NULL, diff --git a/src/devices/wwan/nm-modem-manager.c b/src/devices/wwan/nm-modem-manager.c index f0e5692651..92ac0a189c 100644 --- a/src/devices/wwan/nm-modem-manager.c +++ b/src/devices/wwan/nm-modem-manager.c @@ -265,7 +265,7 @@ modem_manager_poke (NMModemManager *self) g_dbus_connection_call (self->priv->dbus_connection, "org.freedesktop.ModemManager1", "/org/freedesktop/ModemManager1", - "org.freedesktop.DBus.Peer", + DBUS_INTERFACE_PEER, "Ping", NULL, /* inputs */ NULL, /* outputs */ diff --git a/src/nm-dbus-manager.c b/src/nm-dbus-manager.c index b8b5325671..4f3ea07223 100644 --- a/src/nm-dbus-manager.c +++ b/src/nm-dbus-manager.c @@ -769,9 +769,9 @@ nm_dbus_manager_init_bus (NMDBusManager *self) dbus_connection_set_exit_on_disconnect (priv->connection, FALSE); priv->proxy = dbus_g_proxy_new_for_name (priv->g_connection, - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - "org.freedesktop.DBus"); + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); priv->proxy_destroy_id = g_signal_connect (priv->proxy, "destroy", G_CALLBACK (destroy_cb), self); diff --git a/src/settings/plugins/ifcfg-rh/plugin.c b/src/settings/plugins/ifcfg-rh/plugin.c index 8febfe6a01..d33b41cd0c 100644 --- a/src/settings/plugins/ifcfg-rh/plugin.c +++ b/src/settings/plugins/ifcfg-rh/plugin.c @@ -59,9 +59,8 @@ #include "utils.h" #include "gsystem-local-alloc.h" -#define DBUS_SERVICE_NAME "com.redhat.ifcfgrh1" -#define DBUS_OBJECT_PATH "/com/redhat/ifcfgrh1" - +#define IFCFGRH1_DBUS_SERVICE_NAME "com.redhat.ifcfgrh1" +#define IFCFGRH1_DBUS_OBJECT_PATH "/com/redhat/ifcfgrh1" #define _LOG_DEFAULT_DOMAIN LOGD_SETTINGS @@ -792,12 +791,12 @@ sc_plugin_ifcfg_init (SCPluginIfcfg *plugin) dbus_connection_set_exit_on_disconnect (tmp, FALSE); proxy = dbus_g_proxy_new_for_name (priv->bus, - "org.freedesktop.DBus", - "/org/freedesktop/DBus", - "org.freedesktop.DBus"); + DBUS_SERVICE_DBUS, + DBUS_PATH_DBUS, + DBUS_INTERFACE_DBUS); if (!dbus_g_proxy_call (proxy, "RequestName", &error, - G_TYPE_STRING, DBUS_SERVICE_NAME, + G_TYPE_STRING, IFCFGRH1_DBUS_SERVICE_NAME, G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE, G_TYPE_INVALID, G_TYPE_UINT, &result, @@ -927,9 +926,9 @@ nm_system_config_factory (void) priv = SC_PLUGIN_IFCFG_GET_PRIVATE (singleton); if (priv->bus) dbus_g_connection_register_g_object (priv->bus, - DBUS_OBJECT_PATH, + IFCFGRH1_DBUS_OBJECT_PATH, G_OBJECT (singleton)); - _LOGD ("Acquired D-Bus service %s", DBUS_SERVICE_NAME); + _LOGD ("Acquired D-Bus service %s", IFCFGRH1_DBUS_SERVICE_NAME); } else g_object_ref (singleton); diff --git a/src/supplicant-manager/nm-supplicant-interface.c b/src/supplicant-manager/nm-supplicant-interface.c index 19795bf3b9..d2361f51e6 100644 --- a/src/supplicant-manager/nm-supplicant-interface.c +++ b/src/supplicant-manager/nm-supplicant-interface.c @@ -32,6 +32,7 @@ #include "nm-glib-compat.h" #include "gsystem-local-alloc.h" #include "nm-core-internal.h" +#include "nm-dbus-compat.h" #define WPAS_DBUS_IFACE_INTERFACE WPAS_DBUS_INTERFACE ".Interface" #define WPAS_DBUS_IFACE_BSS WPAS_DBUS_INTERFACE ".BSS" @@ -691,7 +692,7 @@ on_iface_proxy_acquired (GDBusProxy *proxy, GAsyncResult *result, gpointer user_ */ priv->ready_count++; g_dbus_proxy_call (priv->iface_proxy, - "org.freedesktop.DBus.Introspectable.Introspect", + DBUS_INTERFACE_INTROSPECTABLE ".Introspect", NULL, G_DBUS_CALL_FLAGS_NONE, -1, @@ -1133,7 +1134,7 @@ nm_supplicant_interface_set_config (NMSupplicantInterface *self, if (cfg) { priv->cfg = g_object_ref (cfg); g_dbus_proxy_call (priv->iface_proxy, - "org.freedesktop.DBus.Properties.Set", + DBUS_INTERFACE_PROPERTIES ".Set", g_variant_new ("(ssv)", WPAS_DBUS_IFACE_INTERFACE, "ApScan", |