On Wed, 2005-09-28 at 13:39 +0200, Philip Van Hoof wrote:
> Disregard previous "dbus upgrade" patch for libosso, and use this one

No no no take this one :-)

-- 
Philip Van Hoof, software developer at x-tend
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
work: vanhoof at x-tend dot be
http://www.pvanhoof.be - http://www.x-tend.be
Index: src/osso-hw.c
===================================================================
--- src/osso-hw.c	(revision 1007)
+++ src/osso-hw.c	(working copy)
@@ -405,7 +405,7 @@
             return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
         }
 
-        new_state = dbus_message_iter_get_boolean(&i);
+        dbus_message_iter_get_basic (&i, &new_state);
         if (osso->hw_state.system_inactivity_ind != new_state) {
             osso->hw_state.system_inactivity_ind = new_state;
             if (osso->hw_cbs.system_inactivity_ind.set) {
@@ -425,7 +425,7 @@
             return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
         }
 
-        s = dbus_message_iter_get_string(&i);
+        dbus_message_iter_get_basic (&i, &s);
         if (strncmp(s, NORMAL_MODE, strlen(NORMAL_MODE)) == 0) {
             osso->hw_state.sig_device_mode_ind = OSSO_DEVMODE_NORMAL;
             write_device_state_to_file(NORMAL_MODE);
Index: src/osso-state.c
===================================================================
--- src/osso-state.c	(revision 1007)
+++ src/osso-state.c	(working copy)
@@ -23,6 +23,9 @@
 #include "osso-state.h"
 #include "osso-log.h"
 
+static osso_return_t _write_state(const gchar *statefile, osso_state_t *state);
+static osso_return_t _read_state(const gchar *statefile, osso_state_t *state);
+
 /**
  * This internal function performs a simple validation for the application
  * and version information of the osso_context regarding their validity
Index: src/osso-rpc.c
===================================================================
--- src/osso-rpc.c	(revision 1007)
+++ src/osso-rpc.c	(working copy)
@@ -96,7 +96,7 @@
     if(first_arg_type != DBUS_TYPE_INVALID)
 	_append_args(msg, first_arg_type, var_args);
 
-    dbus_message_set_auto_activation(msg, TRUE);
+    dbus_message_set_auto_start(msg, TRUE);
     
     if(retval == NULL) {
 	dbus_message_set_no_reply(msg, TRUE);
@@ -261,7 +261,7 @@
     if(msg == NULL)
 	return OSSO_ERROR;
 
-    dbus_message_set_auto_activation(msg, TRUE);
+    dbus_message_set_auto_start(msg, TRUE);
     
     if(first_arg_type != DBUS_TYPE_INVALID)
 	_append_args(msg, first_arg_type, var_args);
@@ -412,9 +412,10 @@
     
     dbus_error_init(&err);
 
-    dprint("acquiring service '%s'", service);
-    i = dbus_bus_acquire_service(use_system_bus?osso->sys_conn:osso->conn,
-				 service, 0, &err);
+    dprint("requesting service '%s'", service);
+
+    i = dbus_bus_request_name (use_system_bus?osso->sys_conn:osso->conn,
+				 service, 0, &err);		 
 #ifdef LIBOSSO_DEBUG
     if(i <= 0) {
 	if(i == 0) {
@@ -644,7 +645,7 @@
 	    reply = dbus_message_new_error(msg, err_name, retval.value.s);
 	}
 	if(reply != NULL) {
-	    int serial;
+	    dbus_uint32_t serial;
 	    dprint("sending message to '%s'",
 		   dbus_message_get_destination(reply));
 	    
@@ -687,15 +688,11 @@
 	  case DBUS_TYPE_STRING:
 	    s = va_arg(var_args, gchar *);
 	    if(s == NULL)
-		dbus_message_append_args(msg, DBUS_TYPE_NIL,
+		dbus_message_append_args(msg, DBUS_TYPE_INT32,
 					 DBUS_TYPE_INVALID);
 	    else
 		dbus_message_append_args(msg, type, s, DBUS_TYPE_INVALID);
 	    break;
-	  case DBUS_TYPE_NIL:	    
-		dbus_message_append_args(msg, DBUS_TYPE_NIL,
-					 DBUS_TYPE_INVALID);
-	    break;
 	  default:
 	    break;	    
 	}
@@ -736,14 +733,11 @@
       case DBUS_TYPE_STRING:
 	dprint("Appending STR:'%s'",arg->value.s);
 	if(arg->value.s == NULL)
-	    dbus_message_append_args(msg, DBUS_TYPE_NIL, DBUS_TYPE_INVALID);
+	    dbus_message_append_args(msg, DBUS_TYPE_INT32, DBUS_TYPE_INVALID);
 	else
 	    dbus_message_append_args(msg, DBUS_TYPE_STRING, arg->value.s,
 				     DBUS_TYPE_INVALID);
 	break;
-      case DBUS_TYPE_NIL:
-	    dbus_message_append_args(msg, DBUS_TYPE_NIL, DBUS_TYPE_INVALID);
-	break;
       default:
 	break;	    
     }
@@ -760,23 +754,23 @@
     retval->type = dbus_message_iter_get_arg_type(iter);
     switch(retval->type) {
       case DBUS_TYPE_INT32:
-	retval->value.i = dbus_message_iter_get_int32(iter);
+	dbus_message_iter_get_basic (iter, &retval->value.i);
 	dprint("got INT32:%d",retval->value.i);
 	break;
       case DBUS_TYPE_UINT32:
-	retval->value.u = dbus_message_iter_get_uint32(iter);
+	dbus_message_iter_get_basic (iter, &retval->value.u);
 	dprint("got UINT32:%u",retval->value.u);
 	break;
       case DBUS_TYPE_BOOLEAN:
-	retval->value.b = dbus_message_iter_get_boolean(iter);
+	dbus_message_iter_get_basic (iter, &retval->value.b);
 	dprint("got BOOLEAN:%s",retval->value.s?"TRUE":"FALSE");
 	break;
       case DBUS_TYPE_DOUBLE:
-	retval->value.d = dbus_message_iter_get_double(iter);
+	dbus_message_iter_get_basic (iter, &retval->value.d);
 	dprint("got DOUBLE:%f",retval->value.d);
 	break;
       case DBUS_TYPE_STRING:
-	str = dbus_message_iter_get_string (iter);
+	dbus_message_iter_get_basic (iter, &str);
 	retval->value.s = g_strdup (str);
 	dbus_free (str);
 	if(retval->value.s == NULL) {
@@ -784,10 +778,6 @@
 	}
 	dprint("got STRING:'%s'",retval->value.s);
 	break;
-      case DBUS_TYPE_NIL:
-	retval->value.s = NULL;	    
-	dprint("got NIL");
-	break;
       default:
 	retval->type = DBUS_TYPE_INVALID;
 	retval->value.i = 0;	    
@@ -805,7 +795,7 @@
     int type;
     rpc = (_osso_rpc_async_t *)data;
     ULOG_INFO_F("At msg return handler");
-    msg = dbus_pending_call_get_reply(pending);
+    msg = dbus_pending_call_steal_reply(pending);
     if(msg == NULL) {
 	g_free(rpc->interface);
 	g_free(rpc->method);
Index: src/osso-mime.c
===================================================================
--- src/osso-mime.c	(revision 1007)
+++ src/osso-mime.c	(working copy)
@@ -134,7 +134,13 @@
 	return NULL;
     }
     else {
-	return g_strdup(dbus_message_iter_get_string(iter));
+
+	/* I have big questions about a potential memory leak for this one */
+	/* I ported it one to one, but please check this!!! */
+
+	char *str;
+	dbus_message_iter_get_basic(iter, &str);
+	return g_strdup (str);
     }
 }
 
Index: src/osso-application-top.c
===================================================================
--- src/osso-application-top.c	(revision 1007)
+++ src/osso-application-top.c	(working copy)
@@ -62,7 +62,7 @@
     _append_environment(msg);
 
     dbus_message_set_no_reply(msg, TRUE);
-    dbus_message_set_auto_activation(msg, TRUE);
+    dbus_message_set_auto_start(msg, TRUE);
 
     if(dbus_connection_send(osso->conn, msg, &serial)==FALSE) {
 	dbus_message_unref(msg);
@@ -117,7 +117,7 @@
 	
 	dbus_message_iter_init(msg, &iter);
 	if(dbus_message_iter_get_arg_type(&iter) == DBUS_TYPE_STRING) {
-	    arguments = dbus_message_iter_get_string(&iter);
+	    dbus_message_iter_get_basic(&iter, &arguments);
             if (!osso->environment_set)
             {
                 _set_environment(&iter);
@@ -189,16 +189,27 @@
     for (;dbus_message_iter_has_next(iter);
             dbus_message_iter_next(iter))
     {
+	char *tstr;
         gchar **splitted;
         if (dbus_message_iter_get_arg_type(iter)
                 != DBUS_TYPE_STRING)
             continue;
         
-        d_log(LOG_D,"Osso got env: %s",
-                    dbus_message_iter_get_string(iter));
+	dbus_message_iter_get_basic (iter, &tstr);
+	
+        d_log(LOG_D,"Osso got env: %s", tstr);
 
-        splitted = g_strsplit(dbus_message_iter_get_string(iter),
-                            "=",2);
+	dbus_free (tstr);
+        tstr=NULL;
+
+	/* In the old version, there's a memory leak here! */
+	
+	dbus_message_iter_get_basic (iter, &tstr);
+	
+        splitted = g_strsplit(tstr, "=",2);
+
+	dbus_free (tstr);
+	
         if (splitted == NULL || splitted[0] == NULL || splitted[1]==NULL)
             continue;
         
Index: src/osso-init.c
===================================================================
--- src/osso-init.c	(revision 1007)
+++ src/osso-init.c	(working copy)
@@ -60,7 +60,7 @@
         fprintf(stderr, "osso_initialize() WARNING: if the system bus "
           "activated this program, Libosso does not connect"
           " to the session bus!\n");
-        osso->conn = _dbus_connect_and_setup(osso, DBUS_BUS_ACTIVATION,
+        osso->conn = _dbus_connect_and_setup(osso, DBUS_BUS_STARTER,
                                              context);
     } else {
         dprint("connecting to the session bus");
@@ -245,7 +245,7 @@
     g_snprintf(service, 255, "%s.%s", OSSO_BUS_ROOT, osso->application);
     dprint("service='%s'",service);
 
-    i = dbus_bus_acquire_service(conn, service, 
+    i = dbus_bus_request_name (conn, service, 
 				 0, /* undocumented parameter, flags */
 				 &err);
     dprint("acquire service returned '%d'",i);
Index: src/osso-statusbar.c
===================================================================
--- src/osso-statusbar.c	(revision 1007)
+++ src/osso-statusbar.c	(working copy)
@@ -46,8 +46,6 @@
     if( (osso == NULL) || (name == NULL) )
 	return OSSO_INVALID;
     
-    if( ! argument3 )
-      dbus_type_string = DBUS_TYPE_NIL;
 
     r = _rpc_run_wrap(osso, osso->sys_conn, STATUSBAR_SERVICE, 
 		      STATUSBAR_OBJECT_PATH, STATUSBAR_INTERFACE,
_______________________________________________
maemo-developers mailing list
[email protected]
https://maemo.org/mailman/listinfo/maemo-developers

Reply via email to