diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-01-12 06:47:16 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-01-12 06:47:16 +0100 |
commit | 2ac5cc417601c4ef2db17f7ee18b77d89b9e590c (patch) | |
tree | 5e66698609c12cd3ea085ef05498e042a6e6207e | |
parent | 6ccedbcbd6026351a0bec9a492f971baa2d5192e (diff) | |
download | connman-gnome-2ac5cc417601c4ef2db17f7ee18b77d89b9e590c.tar.gz |
Add functions for getting security details and passphrase
-rw-r--r-- | common/connman-client.c | 40 | ||||
-rw-r--r-- | common/connman-client.h | 3 | ||||
-rw-r--r-- | common/connman-dbus.c | 6 | ||||
-rw-r--r-- | common/connman-dbus.h | 2 |
4 files changed, 51 insertions, 0 deletions
diff --git a/common/connman-client.c b/common/connman-client.c index f99ac9b..b47870e 100644 --- a/common/connman-client.c +++ b/common/connman-client.c @@ -454,6 +454,46 @@ void connman_client_disconnect(ConnmanClient *client, const gchar *network) g_object_unref(proxy); } +guint connman_client_get_security(ConnmanClient *client, const gchar *network) +{ + ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client); + GtkTreeIter iter; + guint security; + + DBG("client %p", client); + + if (network == NULL) + return CONNMAN_SECURITY_UNKNOWN; + + if (connman_dbus_get_iter(priv->store, network, &iter) == FALSE) + return CONNMAN_SECURITY_UNKNOWN; + + gtk_tree_model_get(GTK_TREE_MODEL(priv->store), &iter, + CONNMAN_COLUMN_SECURITY, &security, -1); + + return security; +} + +gchar *connman_client_get_passphrase(ConnmanClient *client, const gchar *network) +{ + ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client); + GtkTreeIter iter; + gchar *passphrase; + + DBG("client %p", client); + + if (network == NULL) + return NULL; + + if (connman_dbus_get_iter(priv->store, network, &iter) == FALSE) + return NULL; + + gtk_tree_model_get(GTK_TREE_MODEL(priv->store), &iter, + CONNMAN_COLUMN_PASSPHRASE, &passphrase, -1); + + return passphrase; +} + void connman_client_set_callback(ConnmanClient *client, ConnmanClientCallback callback) { diff --git a/common/connman-client.h b/common/connman-client.h index 4758bf9..a265b5a 100644 --- a/common/connman-client.h +++ b/common/connman-client.h @@ -67,6 +67,9 @@ void connman_client_propose_scan(ConnmanClient *client, const gchar *device); void connman_client_connect(ConnmanClient *client, const gchar *network); void connman_client_disconnect(ConnmanClient *client, const gchar *network); +guint connman_client_get_security(ConnmanClient *client, const gchar *network); +gchar *connman_client_get_passphrase(ConnmanClient *client, const gchar *network); + typedef void (* ConnmanClientCallback) (const char *status, void *user_data); void connman_client_set_callback(ConnmanClient *client, diff --git a/common/connman-dbus.c b/common/connman-dbus.c index 79b7149..ccab204 100644 --- a/common/connman-dbus.c +++ b/common/connman-dbus.c @@ -137,6 +137,12 @@ DBusGProxy *connman_dbus_get_proxy(GtkTreeStore *store, const gchar *path) return proxy; } +gboolean connman_dbus_get_iter(GtkTreeStore *store, const gchar *path, + GtkTreeIter *iter) +{ + return get_iter_from_path(store, iter, path); +} + static void iterate_list(const GValue *value, gpointer user_data) { GSList **list = user_data; diff --git a/common/connman-dbus.h b/common/connman-dbus.h index dfb1b66..a9fa51c 100644 --- a/common/connman-dbus.h +++ b/common/connman-dbus.h @@ -40,3 +40,5 @@ DBusGProxy *connman_dbus_create_manager(DBusGConnection *connection, void connman_dbus_destroy_manager(DBusGProxy *proxy, GtkTreeStore *store); DBusGProxy *connman_dbus_get_proxy(GtkTreeStore *store, const gchar *path); +gboolean connman_dbus_get_iter(GtkTreeStore *store, const gchar *path, + GtkTreeIter *iter); |