if (element->driver == NULL)
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+ if (element->enabled == FALSE)
+ return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+
if (element->driver->update) {
DBG("Calling update callback");
element->driver->update(element);
if (element->driver == NULL)
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+ if (element->enabled == TRUE)
+ return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+
if (element->driver->enable) {
DBG("Calling enable callback");
- element->driver->enable(element);
+ if (element->driver->enable(element) == 0) {
+ element->enabled = TRUE;
+
+ g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
+ CONNMAN_MANAGER_INTERFACE, "ElementUpdated",
+ DBUS_TYPE_OBJECT_PATH, &element->path,
+ DBUS_TYPE_INVALID);
+ }
}
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
if (element->driver == NULL)
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+ if (element->enabled == FALSE)
+ return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+
if (element->driver->disable) {
DBG("Calling disable callback");
- element->driver->disable(element);
+ if (element->driver->disable(element) == 0) {
+ element->enabled = FALSE;
+
+ g_dbus_emit_signal(connection, CONNMAN_MANAGER_PATH,
+ CONNMAN_MANAGER_INTERFACE, "ElementUpdated",
+ DBUS_TYPE_OBJECT_PATH, &element->path,
+ DBUS_TYPE_INVALID);
+ }
}
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);