{ },
};
-static GDBusSignalTable device_signals[] = {
- { "PropertyChanged", "sv" },
+static GDBusMethodTable network_methods[] = {
+ { "GetProperties", "", "a{sv}", get_properties },
+ { "SetProperty", "sv", "", set_property },
+ { "ClearProperty", "s", "", clear_property },
{ },
};
if (element->type == CONNMAN_ELEMENT_TYPE_DEVICE) {
if (g_dbus_register_interface(connection, element->path,
CONNMAN_DEVICE_INTERFACE,
- device_methods, device_signals,
+ device_methods, element_signals,
NULL, element, NULL) == FALSE)
connman_error("Failed to register %s device",
element->path);
}
+ if (element->type == CONNMAN_ELEMENT_TYPE_NETWORK) {
+ if (g_dbus_register_interface(connection, element->path,
+ CONNMAN_NETWORK_INTERFACE,
+ network_methods, element_signals,
+ NULL, element, NULL) == FALSE)
+ connman_error("Failed to register %s network",
+ element->path);
+ }
+
g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
CONNMAN_MANAGER_INTERFACE, "ElementAdded",
DBUS_TYPE_OBJECT_PATH, &element->path,
DBUS_TYPE_OBJECT_PATH, &element->path,
DBUS_TYPE_INVALID);
+ if (element->type == CONNMAN_ELEMENT_TYPE_NETWORK)
+ g_dbus_unregister_interface(connection, element->path,
+ CONNMAN_NETWORK_INTERFACE);
+
if (element->type == CONNMAN_ELEMENT_TYPE_DEVICE)
g_dbus_unregister_interface(connection, element->path,
CONNMAN_DEVICE_INTERFACE);