aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-01-12 06:47:16 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-01-12 06:47:16 +0100
commit2ac5cc417601c4ef2db17f7ee18b77d89b9e590c (patch)
tree5e66698609c12cd3ea085ef05498e042a6e6207e
parent6ccedbcbd6026351a0bec9a492f971baa2d5192e (diff)
downloadconnman-gnome-2ac5cc417601c4ef2db17f7ee18b77d89b9e590c.tar.gz
Add functions for getting security details and passphrase
-rw-r--r--common/connman-client.c40
-rw-r--r--common/connman-client.h3
-rw-r--r--common/connman-dbus.c6
-rw-r--r--common/connman-dbus.h2
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);