mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-06 05:38:15 +02:00
core: port NMManager's aipd proxy to GDBus
This commit is contained in:
parent
473cfec01c
commit
5a1b6b4bbd
1 changed files with 17 additions and 30 deletions
|
|
@ -190,7 +190,7 @@ typedef struct {
|
||||||
|
|
||||||
NMVpnManager *vpn_manager;
|
NMVpnManager *vpn_manager;
|
||||||
|
|
||||||
DBusGProxy *aipd_proxy;
|
GDBusProxy *aipd_proxy;
|
||||||
NMSleepMonitor *sleep_monitor;
|
NMSleepMonitor *sleep_monitor;
|
||||||
|
|
||||||
GSList *auth_chains;
|
GSList *auth_chains;
|
||||||
|
|
@ -801,7 +801,7 @@ device_removed_cb (NMDevice *device, gpointer user_data)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
aipd_handle_event (DBusGProxy *proxy,
|
aipd_handle_event (GDBusProxy *proxy,
|
||||||
const char *event,
|
const char *event,
|
||||||
const char *iface,
|
const char *iface,
|
||||||
const char *address,
|
const char *address,
|
||||||
|
|
@ -812,11 +812,6 @@ aipd_handle_event (DBusGProxy *proxy,
|
||||||
GSList *iter;
|
GSList *iter;
|
||||||
gboolean handled = FALSE;
|
gboolean handled = FALSE;
|
||||||
|
|
||||||
if (!event || !iface) {
|
|
||||||
nm_log_warn (LOGD_AUTOIP4, "incomplete message received from avahi-autoipd");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( (strcmp (event, "BIND") != 0)
|
if ( (strcmp (event, "BIND") != 0)
|
||||||
&& (strcmp (event, "CONFLICT") != 0)
|
&& (strcmp (event, "CONFLICT") != 0)
|
||||||
&& (strcmp (event, "UNBIND") != 0)
|
&& (strcmp (event, "UNBIND") != 0)
|
||||||
|
|
@ -4870,9 +4865,9 @@ static void
|
||||||
nm_manager_init (NMManager *manager)
|
nm_manager_init (NMManager *manager)
|
||||||
{
|
{
|
||||||
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
|
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
|
||||||
DBusGConnection *g_connection;
|
|
||||||
guint i;
|
guint i;
|
||||||
GFile *file;
|
GFile *file;
|
||||||
|
GError *error = NULL;
|
||||||
|
|
||||||
/* Initialize rfkill structures and states */
|
/* Initialize rfkill structures and states */
|
||||||
memset (priv->radio_states, 0, sizeof (priv->radio_states));
|
memset (priv->radio_states, 0, sizeof (priv->radio_states));
|
||||||
|
|
@ -4913,30 +4908,22 @@ nm_manager_init (NMManager *manager)
|
||||||
|
|
||||||
priv->vpn_manager = g_object_ref (nm_vpn_manager_get ());
|
priv->vpn_manager = g_object_ref (nm_vpn_manager_get ());
|
||||||
|
|
||||||
g_connection = nm_dbus_manager_get_connection (priv->dbus_mgr);
|
|
||||||
|
|
||||||
/* avahi-autoipd stuff */
|
/* avahi-autoipd stuff */
|
||||||
priv->aipd_proxy = dbus_g_proxy_new_for_name (g_connection,
|
priv->aipd_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
|
||||||
NM_AUTOIP_DBUS_SERVICE,
|
G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
|
||||||
"/",
|
NULL,
|
||||||
NM_AUTOIP_DBUS_IFACE);
|
NM_AUTOIP_DBUS_SERVICE,
|
||||||
|
"/",
|
||||||
|
NM_AUTOIP_DBUS_IFACE,
|
||||||
|
NULL, &error);
|
||||||
if (priv->aipd_proxy) {
|
if (priv->aipd_proxy) {
|
||||||
dbus_g_object_register_marshaller (g_cclosure_marshal_generic,
|
_nm_dbus_signal_connect (priv->aipd_proxy, "Event", G_VARIANT_TYPE ("(sss)"),
|
||||||
G_TYPE_NONE,
|
G_CALLBACK (aipd_handle_event), manager);
|
||||||
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
|
} else {
|
||||||
G_TYPE_INVALID);
|
nm_log_warn (LOGD_AUTOIP4, "could not initialize avahi-autoipd D-Bus proxy: %s",
|
||||||
|
error->message);
|
||||||
dbus_g_proxy_add_signal (priv->aipd_proxy,
|
g_clear_error (&error);
|
||||||
"Event",
|
}
|
||||||
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
|
|
||||||
G_TYPE_INVALID);
|
|
||||||
|
|
||||||
dbus_g_proxy_connect_signal (priv->aipd_proxy, "Event",
|
|
||||||
G_CALLBACK (aipd_handle_event),
|
|
||||||
manager,
|
|
||||||
NULL);
|
|
||||||
} else
|
|
||||||
nm_log_warn (LOGD_AUTOIP4, "could not initialize avahi-autoipd D-Bus proxy");
|
|
||||||
|
|
||||||
/* sleep/wake handling */
|
/* sleep/wake handling */
|
||||||
priv->sleep_monitor = g_object_ref (nm_sleep_monitor_get ());
|
priv->sleep_monitor = g_object_ref (nm_sleep_monitor_get ());
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue