projects
/
framework
/
connectivity
/
connman.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6ca9fc9
)
Update status of Enabled property
author
Marcel Holtmann
<marcel@holtmann.org>
Tue, 7 Oct 2008 13:08:48 +0000
(15:08 +0200)
committer
Marcel Holtmann
<marcel@holtmann.org>
Tue, 7 Oct 2008 13:08:48 +0000
(15:08 +0200)
src/element.c
patch
|
blob
|
history
diff --git
a/src/element.c
b/src/element.c
index
2934edd
..
ff467d5
100644
(file)
--- a/
src/element.c
+++ b/
src/element.c
@@
-359,6
+359,9
@@
static DBusMessage *do_update(DBusConnection *conn,
if (element->driver == NULL)
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->update) {
DBG("Calling update callback");
element->driver->update(element);
if (element->driver->update) {
DBG("Calling update callback");
element->driver->update(element);
@@
-377,9
+380,19
@@
static DBusMessage *do_enable(DBusConnection *conn,
if (element->driver == NULL)
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 == TRUE)
+ return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
+
if (element->driver->enable) {
DBG("Calling enable callback");
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);
}
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);
@@
-395,9
+408,19
@@
static DBusMessage *do_disable(DBusConnection *conn,
if (element->driver == NULL)
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");
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);
}
return g_dbus_create_reply(msg, DBUS_TYPE_INVALID);