[Phonehome-commits] r51 - trunk/client/src
pamadio at garage.maemo.org
pamadio at garage.maemo.org
Sat Oct 18 18:02:46 EEST 2008
Author: pamadio
Date: 2008-10-18 18:02:45 +0300 (Sat, 18 Oct 2008)
New Revision: 51
Modified:
trunk/client/src/dsk_mgr.c
Log:
adding test_xmlrpc login function
Modified: trunk/client/src/dsk_mgr.c
===================================================================
--- trunk/client/src/dsk_mgr.c 2008-10-18 14:47:25 UTC (rev 50)
+++ trunk/client/src/dsk_mgr.c 2008-10-18 15:02:45 UTC (rev 51)
@@ -495,8 +495,78 @@
}
+
+gboolean test_xmlrpc_login(){
+ SoupSession* soup_session;
+ char *uri = xmlrpc_server;
+ //soup_session=soup_session_sync_new_with_options(SOUP_SESSION_MAX_CONNS,5);
+ soup_session=soup_session_sync_new();
+ SoupXmlrpcMessage *msg;
+ SoupXmlrpcResponse *rpc_response;
+ guint rpc_status;
+ SoupXmlrpcValue *value;
+ msg = soup_xmlrpc_message_new (uri);
+ if (!msg) {
+ g_print("Could not create web service request to '%s'\n", uri);
+ return FALSE;
+ }
+ soup_xmlrpc_message_start_call(msg,"test_login");
+ soup_xmlrpc_message_start_param (msg);
+ soup_xmlrpc_message_write_string (msg,xmlrpc_id);
+ soup_xmlrpc_message_end_param (msg);
+
+ soup_xmlrpc_message_start_param (msg);
+ soup_xmlrpc_message_write_string (msg,xmlrpc_password);
+ soup_xmlrpc_message_end_param (msg);
+
+ soup_xmlrpc_message_end_call (msg);
+ soup_xmlrpc_message_persist (msg);
+ rpc_status=soup_session_send_message(soup_session, SOUP_MESSAGE(msg));
+
+ g_print("rpc_status=%i\n",rpc_status);
+ if(rpc_status!=200){
+ g_print("Problem with XMLRPC communication\n");
+ return FALSE;
+ }
+
+ rpc_response=soup_xmlrpc_message_parse_response (SOUP_XMLRPC_MESSAGE (msg));
+ if (!rpc_response) {
+ g_print("Could not parse XMLRPC response\n");
+ g_object_unref(msg);
+ return FALSE;
+ }
+
+ value = soup_xmlrpc_response_get_value (rpc_response);
+ if (!value) {
+ g_print("No response value in XMLRPC response\n");
+ g_object_unref(msg);
+ return FALSE;
+ }
+
+ gboolean *b;
+ b=g_malloc(sizeof(gboolean));
+ soup_xmlrpc_value_get_boolean(value,b);
+ g_object_unref(msg);
+
+ if(*b==TRUE){
+ g_print("OK\n");
+ g_free(b);
+ return TRUE;
+ } else {
+ g_print("NOPE\n");
+ g_free(b);
+ return FALSE;
+ }
+
+
+}
+
void connection_available(){
g_print("connection available !\n");
+ if (test_xmlrpc_login()!=TRUE){
+ g_print("xmlrpc connexion not successfull\n");
+ return;
+ }
send_gps_infos();
take_photo();
}
@@ -937,7 +1007,7 @@
gps_device = g_object_new (LOCATION_TYPE_GPS_DEVICE, NULL);
g_signal_connect (gps_device, "changed", G_CALLBACK (location_changed), (gpointer) gps_positions);
- g_timeout_add(5000,my_timeout,(gpointer) mainloop);
+ //g_timeout_add(5000,my_timeout,(gpointer) mainloop);
g_timeout_add(5*60*1000,monitor_connection,NULL);
//fill_gps_positions_with_fake();
//save_positions_to_file();
More information about the Phonehome-commits
mailing list