[telepathy-doc/master] Prompt for username and password
Davyd Madeley
davyd at madeley.id.au
Wed Apr 1 18:51:02 PDT 2009
---
docs/examples/glib_get_roster/example.c | 28 ++++++++++++++++------------
1 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/docs/examples/glib_get_roster/example.c b/docs/examples/glib_get_roster/example.c
index 2760328..e3a6d9d 100644
--- a/docs/examples/glib_get_roster/example.c
+++ b/docs/examples/glib_get_roster/example.c
@@ -1,3 +1,5 @@
+#include <unistd.h>
+
#include <glib.h>
#include <telepathy-glib/connection-manager.h>
@@ -208,6 +210,8 @@ cm_ready (TpConnectionManager *cm,
gpointer user_data,
GObject *weak_obj)
{
+ char *username = (char *) user_data;
+
g_print (" > cm_ready\n");
if (in_error) g_error ("%s", in_error->message);
@@ -215,19 +219,12 @@ cm_ready (TpConnectionManager *cm,
const TpConnectionManagerProtocol *prot = tp_connection_manager_get_protocol (cm, "jabber");
if (!prot) g_error ("Protocol is not supported");
+ char *password = getpass ("Password: ");
+
/* request a new connection */
-#if 0
- GHashTable *parameters = g_hash_table_new_full (
- g_str_hash, g_str_equal,
- NULL, (GDestroyNotify) tp_g_value_slice_free);
- g_hash_table_insert (parameters, "account",
- tp_g_value_slice_new_string ("davyd"));
- g_hash_table_insert (parameters, "password",
- tp_g_value_slice_new_string ("sup"));
-#endif
GHashTable *parameters = tp_asv_new (
- "account", G_TYPE_STRING, "",
- "password", G_TYPE_STRING, "",
+ "account", G_TYPE_STRING, username,
+ "password", G_TYPE_STRING, password,
NULL);
tp_cli_connection_manager_call_request_connection (cm, -1,
@@ -254,6 +251,12 @@ main (int argc, char **argv)
g_type_init ();
+ if (argc != 2)
+ {
+ g_error ("Must provide username!");
+ }
+ char *username = argv[1];
+
/* create a main loop */
loop = g_main_loop_new (NULL, FALSE);
@@ -270,7 +273,8 @@ main (int argc, char **argv)
"gabble", NULL, &error);
if (error) g_error ("%s", error->message);
- tp_connection_manager_call_when_ready (cm, cm_ready, NULL, NULL, NULL);
+ tp_connection_manager_call_when_ready (cm, cm_ready,
+ username, NULL, NULL);
/* end ex.basics.language-bindings.telepathy-glib.ready */
/* set up a signal handler */
--
1.5.6.5
More information about the telepathy-commits
mailing list