mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-23 19:24:38 +00:00
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.
This commit is contained in:
parent
f2174b623f
commit
dd0e198955
|
@ -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 \
|
||||
|
|
74
include/nm-dbus-compat.h
Normal file
74
include/nm-dbus-compat.h
Normal file
|
@ -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__ */
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
Loading…
Reference in a new issue