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