diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-07-21 04:36:47 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-07-21 04:41:34 -0500 |
commit | 43962ae05b710f1b1f40a14794c0871f6e254273 (patch) | |
tree | 6b1b7cb4d31797d53699e13148cd58592bb43a7a /src/cdma-connman.c | |
parent | cbeb0a454b4fa445fdeb7ea77e2e98ee5f8cb4aa (diff) | |
download | ofono-43962ae05b710f1b1f40a14794c0871f6e254273.tar.bz2 |
cdma-connman: emit PropertyChanged signal
When Username / Password are changed, we should emit the PropertyChanged
signal
Diffstat (limited to 'src/cdma-connman.c')
-rw-r--r-- | src/cdma-connman.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/cdma-connman.c b/src/cdma-connman.c index 4466dee8..b52f9c18 100644 --- a/src/cdma-connman.c +++ b/src/cdma-connman.c @@ -377,6 +377,8 @@ static DBusMessage *cdma_connman_set_username(struct ofono_cdma_connman *cm, DBusConnection *conn, DBusMessage *msg, const char *username) { + const char *path; + if (strlen(username) > OFONO_CDMA_CONNMAN_MAX_USERNAME_LENGTH) return __ofono_error_invalid_format(msg); @@ -385,13 +387,22 @@ static DBusMessage *cdma_connman_set_username(struct ofono_cdma_connman *cm, strcpy(cm->username, username); - return dbus_message_new_method_return(msg); + g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID); + + path = __ofono_atom_get_path(cm->atom); + ofono_dbus_signal_property_changed(conn, path, + OFONO_CDMA_CONNECTION_MANAGER_INTERFACE, + "Username", DBUS_TYPE_STRING, &username); + + return NULL; } static DBusMessage *cdma_connman_set_password(struct ofono_cdma_connman *cm, DBusConnection *conn, DBusMessage *msg, const char *password) { + const char *path; + if (strlen(password) > OFONO_CDMA_CONNMAN_MAX_PASSWORD_LENGTH) return __ofono_error_invalid_format(msg); @@ -400,7 +411,14 @@ static DBusMessage *cdma_connman_set_password(struct ofono_cdma_connman *cm, strcpy(cm->password, password); - return dbus_message_new_method_return(msg); + g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID); + + path = __ofono_atom_get_path(cm->atom); + ofono_dbus_signal_property_changed(conn, path, + OFONO_CDMA_CONNECTION_MANAGER_INTERFACE, + "Password", DBUS_TYPE_STRING, &password); + + return NULL; } static DBusMessage *cdma_connman_set_property(DBusConnection *conn, |