dbus: Drop unused patches, and merge unversioned and version patch directories

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2768 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Ross Burton 2007-09-21 07:47:42 +00:00
parent 9c0ecf04c4
commit b03d999bb2
16 changed files with 0 additions and 1252 deletions

View File

@ -1,308 +0,0 @@
diff -ur dbus-0.23/ChangeLog dbus-0.23.1/ChangeLog
--- dbus-0.23/ChangeLog 2005-01-13 00:48:43.000000000 +0200
+++ dbus-0.23.1/ChangeLog 2005-02-11 20:25:48.000000000 +0200
@@ -1,3 +1,33 @@
+2005-02-11 Joe Shaw <joeshaw@novell.com>
+
+ * NEWS: Update for 0.23.1
+
+ * configure.in: Release 0.23.1
+
+2005-02-10 Joe Shaw <joeshaw@novell.com>
+
+ * dbus/dbus-connection.c
+ (_dbus_connection_queue_received_message_link,
+ _dbus_connection_message_sent): Add the path to
+ the verbose output.
+ (_dbus_connection_send_preallocated_and_unlock): Added. Calls
+ _dbus_connection_send_preallocated_unlocked(), updated the
+ dispatch status, and unlocks. Fixes a bug where certain
+ situations (like a broken pipe) could cause a Disconnect message
+ to not be sent, tricking the bus into thinking a service was still
+ there when the process had quit.
+ (_dbus_connection_send_preallocated): Call
+ _dbus_connection_send_preallocated_and_unlock().
+ (_dbus_connection_send_and_unlock): Added. Calls
+ _dbus_connection_send_preallocated_and_unlock().
+ (dbus_connection_send): Call _dbus_connection_send_and_unlock().
+ (dbus_connection_send_with_reply): Update the dispatch status and
+ unlock.
+
+ * mono/Service.cs (~Service): Added. Removes the filter so that
+ we don't get unmanaged code calling back into a GCed delegate.
+ (RemoveFilter); Added.
+
2005-01-12 Joe Shaw <joeshaw@novell.com>
* NEWS: Update for 0.23.
diff -ur dbus-0.23/NEWS dbus-0.23.1/NEWS
--- dbus-0.23/NEWS 2005-01-13 00:20:40.000000000 +0200
+++ dbus-0.23.1/NEWS 2005-02-11 20:25:16.000000000 +0200
@@ -1,3 +1,11 @@
+D-BUS 0.23.1 (11 Feb 2005)
+===
+- fix a bug in which the bus daemon wouldn't recognize that a service
+ owner quit
+- fix a bug in the mono bindings that would cause unmanaged code to
+ call back into a delegate that had been garbage collected and
+ crashed.
+
D-BUS 0.23 (11 Jan 2005)
===
diff -ur dbus-0.23/configure dbus-0.23.1/configure
--- dbus-0.23/configure 2005-01-13 00:21:25.000000000 +0200
+++ dbus-0.23.1/configure 2005-02-11 19:53:33.000000000 +0200
@@ -1826,7 +1826,7 @@
# Define the identity of the package.
PACKAGE=dbus
- VERSION=0.23
+ VERSION=0.23.1
cat >>confdefs.h <<_ACEOF
diff -ur dbus-0.23/configure.in dbus-0.23.1/configure.in
--- dbus-0.23/configure.in 2005-01-13 00:20:40.000000000 +0200
+++ dbus-0.23.1/configure.in 2005-02-11 19:53:09.000000000 +0200
@@ -3,7 +3,7 @@
AC_INIT(dbus/dbus.h)
-AM_INIT_AUTOMAKE(dbus, 0.23)
+AM_INIT_AUTOMAKE(dbus, 0.23.1)
AM_CONFIG_HEADER(config.h)
diff -ur dbus-0.23/dbus/dbus-connection.c dbus-0.23.1/dbus/dbus-connection.c
--- dbus-0.23/dbus/dbus-connection.c 2005-01-11 21:31:56.000000000 +0200
+++ dbus-0.23.1/dbus/dbus-connection.c 2005-02-11 19:52:47.000000000 +0200
@@ -358,9 +358,10 @@
_dbus_connection_wakeup_mainloop (connection);
- _dbus_verbose ("Message %p (%d %s %s '%s') added to incoming queue %p, %d incoming\n",
+ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to incoming queue %p, %d incoming\n",
message,
dbus_message_get_type (message),
+ dbus_message_get_path (message),
dbus_message_get_interface (message) ?
dbus_message_get_interface (message) :
"no interface",
@@ -473,9 +474,10 @@
connection->n_outgoing -= 1;
- _dbus_verbose ("Message %p (%d %s %s '%s') removed from outgoing queue %p, %d left to send\n",
+ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from outgoing queue %p, %d left to send\n",
message,
dbus_message_get_type (message),
+ dbus_message_get_path (message),
dbus_message_get_interface (message) ?
dbus_message_get_interface (message) :
"no interface",
@@ -1572,9 +1574,10 @@
}
#endif
- _dbus_verbose ("Message %p (%d %s %s '%s') added to outgoing queue %p, %d pending to send\n",
+ _dbus_verbose ("Message %p (%d %s %s %s '%s') added to outgoing queue %p, %d pending to send\n",
message,
dbus_message_get_type (message),
+ dbus_message_get_path (message),
dbus_message_get_interface (message) ?
dbus_message_get_interface (message) :
"no interface",
@@ -1606,12 +1609,30 @@
_dbus_connection_do_iteration (connection,
DBUS_ITERATION_DO_WRITING,
-1);
-
+
/* If stuff is still queued up, be sure we wake up the main loop */
if (connection->n_outgoing > 0)
_dbus_connection_wakeup_mainloop (connection);
}
+static void
+_dbus_connection_send_preallocated_and_unlock (DBusConnection *connection,
+ DBusPreallocatedSend *preallocated,
+ DBusMessage *message,
+ dbus_uint32_t *client_serial)
+{
+ DBusDispatchStatus status;
+
+ _dbus_connection_send_preallocated_unlocked (connection,
+ preallocated,
+ message, client_serial);
+
+ status = _dbus_connection_get_dispatch_status_unlocked (connection);
+
+ /* this calls out to user code */
+ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
+}
+
/**
* Sends a message using preallocated resources. This function cannot fail.
* It works identically to dbus_connection_send() in other respects.
@@ -1642,10 +1663,9 @@
dbus_message_get_member (message) != NULL));
CONNECTION_LOCK (connection);
- _dbus_connection_send_preallocated_unlocked (connection,
- preallocated,
- message, client_serial);
- CONNECTION_UNLOCK (connection);
+ _dbus_connection_send_preallocated_and_unlock (connection,
+ preallocated,
+ message, client_serial);
}
static dbus_bool_t
@@ -1670,6 +1690,27 @@
return TRUE;
}
+static dbus_bool_t
+_dbus_connection_send_and_unlock (DBusConnection *connection,
+ DBusMessage *message,
+ dbus_uint32_t *client_serial)
+{
+ DBusPreallocatedSend *preallocated;
+
+ _dbus_assert (connection != NULL);
+ _dbus_assert (message != NULL);
+
+ preallocated = _dbus_connection_preallocate_send_unlocked (connection);
+ if (preallocated == NULL)
+ return FALSE;
+
+ _dbus_connection_send_preallocated_and_unlock (connection,
+ preallocated,
+ message,
+ client_serial);
+ return TRUE;
+}
+
/**
* Adds a message to the outgoing message queue. Does not block to
* write the message to the network; that happens asynchronously. To
@@ -1698,14 +1739,9 @@
CONNECTION_LOCK (connection);
- if (!_dbus_connection_send_unlocked (connection, message, client_serial))
- {
- CONNECTION_UNLOCK (connection);
- return FALSE;
- }
-
- CONNECTION_UNLOCK (connection);
- return TRUE;
+ return _dbus_connection_send_and_unlock (connection,
+ message,
+ client_serial);
}
static dbus_bool_t
@@ -1784,6 +1820,7 @@
DBusMessage *reply;
DBusList *reply_link;
dbus_int32_t serial = -1;
+ DBusDispatchStatus status;
_dbus_return_val_if_fail (connection != NULL, FALSE);
_dbus_return_val_if_fail (message != NULL, FALSE);
@@ -1845,8 +1882,11 @@
else
dbus_pending_call_unref (pending);
- CONNECTION_UNLOCK (connection);
-
+ status = _dbus_connection_get_dispatch_status_unlocked (connection);
+
+ /* this calls out to user code */
+ _dbus_connection_update_dispatch_status_and_unlock (connection, status);
+
return TRUE;
error:
@@ -2256,9 +2296,10 @@
link = _dbus_list_pop_first_link (&connection->incoming_messages);
connection->n_incoming -= 1;
- _dbus_verbose ("Message %p (%d %s %s '%s') removed from incoming queue %p, %d incoming\n",
+ _dbus_verbose ("Message %p (%d %s %s %s '%s') removed from incoming queue %p, %d incoming\n",
link->data,
dbus_message_get_type (link->data),
+ dbus_message_get_path (link->data),
dbus_message_get_interface (link->data) ?
dbus_message_get_interface (link->data) :
"no interface",
diff -ur dbus-0.23/mono/Service.cs dbus-0.23.1/mono/Service.cs
--- dbus-0.23/mono/Service.cs 2004-08-31 06:59:14.000000000 +0300
+++ dbus-0.23.1/mono/Service.cs 2005-02-11 19:52:47.000000000 +0200
@@ -23,6 +23,9 @@
private static AssemblyBuilder proxyAssembly;
private ModuleBuilder module = null;
+ // Add a match for signals. FIXME: Can we filter the service?
+ private const string MatchRule = "type='signal'";
+
internal Service(string name, Connection connection)
{
this.name = name;
@@ -47,6 +50,12 @@
this.local = true;
}
+ ~Service ()
+ {
+ if (this.filterCalled != null)
+ RemoveFilter ();
+ }
+
public static bool Exists(Connection connection, string name)
{
Error error = new Error();
@@ -113,9 +122,17 @@
IntPtr.Zero))
throw new OutOfMemoryException();
- // Add a match for signals. FIXME: Can we filter the service?
- string rule = "type='signal'";
- dbus_bus_add_match(connection.RawConnection, rule, IntPtr.Zero);
+ dbus_bus_add_match(connection.RawConnection, MatchRule, IntPtr.Zero);
+ }
+
+ private void RemoveFilter()
+ {
+ dbus_connection_remove_filter (Connection.RawConnection,
+ this.filterCalled,
+ IntPtr.Zero);
+ this.filterCalled = null;
+
+ dbus_bus_remove_match (connection.RawConnection, MatchRule, IntPtr.Zero);
}
private int Service_FilterCalled(IntPtr rawConnection,
@@ -200,9 +217,19 @@
IntPtr freeData);
[DllImport("dbus-1")]
+ private extern static void dbus_connection_remove_filter(IntPtr rawConnection,
+ DBusHandleMessageFunction filter,
+ IntPtr userData);
+
+ [DllImport("dbus-1")]
private extern static void dbus_bus_add_match(IntPtr rawConnection,
string rule,
IntPtr erro);
+ [DllImport("dbus-1")]
+ private extern static void dbus_bus_remove_match(IntPtr rawConnection,
+ string rule,
+ IntPtr erro);
+
}
}

View File

@ -1,17 +0,0 @@
Only in /home/kihamala/svn/dbus/bus: .svn
diff -ur bus/session.conf.in /home/kihamala/svn/dbus/bus/session.conf.in
--- bus/session.conf.in 2004-10-25 21:48:58.000000000 +0300
+++ /home/kihamala/svn/dbus/bus/session.conf.in 2005-02-15 11:03:26.000000000 +0200
@@ -8,9 +8,10 @@
<!-- Our well-known bus type, don't change this -->
<type>session</type>
- <listen>unix:tmpdir=@DBUS_SESSION_SOCKET_DIR@</listen>
+ <listen>unix:path=/tmp/session_bus_socket</listen>
- <servicedir>@EXPANDED_DATADIR@/dbus-1/services</servicedir>
+ <servicedir>@EXPANDED_LIBDIR@/dbus-1.0/services</servicedir>
+ <!-- <servicedir>/var/lib/install/usr/lib/dbus-1.0/services</servicedir> -->
<policy context="default">
<!-- Allow everything to be sent -->

View File

@ -1,15 +0,0 @@
#
# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
#
--- dbus-0.20/configure.in~cross
+++ dbus-0.20/configure.in
@@ -466,6 +466,7 @@
exit (0);
]])],
[have_abstract_sockets=yes],
+ [have_abstract_sockets=no],
[have_abstract_sockets=no])
AC_LANG_POP(C)
AC_MSG_RESULT($have_abstract_sockets)

View File

@ -1,86 +0,0 @@
#! /bin/sh
# -*- coding: utf-8 -*-
# Debian init.d script for D-BUS
# Copyright © 2003 Colin Walters <walters@debian.org>
set -e
DAEMON=/usr/bin/dbus-daemon-1
NAME=dbus-1
DAEMONUSER=messagebus
PIDDIR=/var/run/dbus
PIDFILE=$PIDDIR/pid
DESC="system message bus"
EVENTDIR=/etc/dbus-1/event.d
test -x $DAEMON || exit 0
# Source defaults file; edit that file to configure this script.
ENABLED=1
PARAMS=""
if [ -e /etc/default/dbus-1 ]; then
. /etc/default/dbus-1
fi
test "$ENABLED" != "0" || exit 0
start_it_up()
{
if [ ! -d $PIDDIR ]; then
mkdir -p $PIDDIR
chown $DAEMONUSER $PIDDIR
chgrp $DAEMONUSER $PIDDIR
fi
if [ -e $PIDFILE ]; then
PIDDIR=/proc/$(cat $PIDFILE)
if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then
echo "$DESC already started; not starting."
else
echo "Removing stale PID file $PIDFILE."
rm -f $PIDFILE
fi
fi
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile $PIDFILE \
--user $DAEMONUSER --exec $DAEMON -- --system $PARAMS
echo "$NAME."
if [ -d $EVENTDIR ]; then
run-parts --arg=start $EVENTDIR
fi
}
shut_it_down()
{
if [ -d $EVENTDIR ]; then
run-parts --reverse --arg=stop $EVENTDIR
fi
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--user $DAEMONUSER
# We no longer include these arguments so that start-stop-daemon
# can do its job even given that we may have been upgraded.
# We rely on the pidfile being sanely managed
# --exec $DAEMON -- --system $PARAMS
echo "$NAME."
rm -f $PIDFILE
}
case "$1" in
start)
start_it_up
;;
stop)
shut_it_down
;;
restart|force-reload)
shut_it_down
sleep 1
start_it_up
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0

View File

@ -1,150 +0,0 @@
diff -urN dbus-0.22.orig/tools/dbus-monitor.1 dbus-0.22/tools/dbus-monitor.1
--- dbus-0.22.orig/tools/dbus-monitor.1 2004-10-10 20:47:19.906823680 +1000
+++ dbus-0.22/tools/dbus-monitor.1 2004-10-10 20:47:27.791625008 +1000
@@ -9,6 +9,7 @@
.PP
.B dbus-monitor
[\-\-system | \-\-session]
+[watch expressions]
.SH DESCRIPTION
@@ -25,6 +26,11 @@
monitor the system or session buses respectively. If neither is
specified, \fIdbus-monitor\fP monitors the session bus.
+.PP
+In order to get \fIdbus-monitor\fP to see the messages you are interested
+in, you should specify a set of watch expressions as you would expect to
+be passed to the \fIdbus_bus_add_watch\fP function.
+
.PP
The message bus configuration may keep \fIdbus-monitor\fP from seeing
all messages, especially if you run the monitor as a non-root user.
@@ -37,6 +43,15 @@
.I "--session"
Monitor the session message bus. (This is the default.)
+.SH EXAMPLE
+Here is an example of using dbus-monitor to watch for the gnome typing
+monitor to say things
+.nf
+
+ dbus-monitor "type='signal',sender='org.gnome.TypingMonitor',interface='org.gnome.TypingMonitor'"
+
+.fi
+
.SH AUTHOR
dbus-monitor was written by Philip Blundell.
--- dbus-0.22-1ubuntu1/tools/dbus-monitor.c 2004-08-10 13:03:37.000000000 +1000
+++ dbus-0.22/tools/dbus-monitor.c 2004-10-10 21:38:08.532362152 +1000
@@ -45,7 +45,7 @@
static void
usage (char *name, int ecode)
{
- fprintf (stderr, "Usage: %s [--system | --session]\n", name);
+ fprintf (stderr, "Usage: %s [--system | --session] [watch expressions]\n", name);
exit (ecode);
}
@@ -56,8 +56,8 @@
DBusError error;
DBusBusType type = DBUS_BUS_SESSION;
GMainLoop *loop;
- int i;
-
+ int i = 0, j = 0, numFilters = 0;
+ char **filters = NULL;
for (i = 1; i < argc; i++)
{
char *arg = argv[i];
@@ -69,14 +69,18 @@
else if (!strcmp (arg, "--help"))
usage (argv[0], 0);
else if (!strcmp (arg, "--"))
- break;
+ continue;
else if (arg[0] == '-')
usage (argv[0], 1);
+ else {
+ numFilters++;
+ filters = (char **)realloc(filters, numFilters * sizeof(char *));
+ filters[j] = (char *)malloc((strlen(arg) + 1) * sizeof(char *));
+ snprintf(filters[j], strlen(arg) + 1, "%s", arg);
+ j++;
+ }
}
- if (argc > 2)
- usage (argv[0], 1);
-
loop = g_main_loop_new (NULL, FALSE);
dbus_error_init (&error);
@@ -92,26 +102,45 @@
dbus_connection_setup_with_g_main (connection, NULL);
- dbus_bus_add_match (connection,
- "type='signal'",
- &error);
- if (dbus_error_is_set (&error))
- goto lose;
- dbus_bus_add_match (connection,
- "type='method_call'",
- &error);
- if (dbus_error_is_set (&error))
- goto lose;
- dbus_bus_add_match (connection,
- "type='method_return'",
- &error);
- if (dbus_error_is_set (&error))
- goto lose;
- dbus_bus_add_match (connection,
- "type='error'",
- &error);
- if (dbus_error_is_set (&error))
- goto lose;
+ if (numFilters)
+ {
+ for (i = 0; i < j; i++)
+ {
+ dbus_bus_add_match (connection, filters[i], &error);
+ if (dbus_error_is_set (&error))
+ {
+ fprintf (stderr, "Failed to setup match \"%s\": %s\n",
+ filters[i], error.message);
+ dbus_error_free (&error);
+ exit (1);
+ }
+ free(filters[i]);
+ }
+ }
+ else
+ {
+ dbus_bus_add_match (connection,
+ "type='signal'",
+ &error);
+ if (dbus_error_is_set (&error))
+ goto lose;
+ dbus_bus_add_match (connection,
+ "type='method_call'",
+ &error);
+ if (dbus_error_is_set (&error))
+ goto lose;
+ dbus_bus_add_match (connection,
+ "type='method_return'",
+ &error);
+ if (dbus_error_is_set (&error))
+ goto lose;
+ dbus_bus_add_match (connection,
+ "type='error'",
+ &error);
+ if (dbus_error_is_set (&error))
+ goto lose;
+ }
+
if (!dbus_connection_add_filter (connection, filter_func, NULL, NULL)) {
fprintf (stderr, "Couldn't add filter!\n");
exit (1);

View File

@ -1,23 +0,0 @@
--- dbus-0.20-virgin-patches/bus/config-parser.c 2003-10-14 21:30:21.000000000 +0100
+++ dbus-0.20/bus/config-parser.c 2004-02-10 00:40:05.000000000 +0000
@@ -1710,8 +1710,18 @@
{
if (!include_file (parser, &full_path, TRUE, error))
{
- _dbus_string_free (&full_path);
- goto failed;
+ /* Debian patch to skip malformed /etc/dbus-1/system.d entries */
+ /*
+ * _dbus_string_free (&full_path);
+ * goto failed;
+ */
+ if (dbus_error_is_set (error))
+ {
+ _dbus_warn("\nEncountered error '%s' while parsing '%s'\n",
+ error->message,
+ _dbus_string_get_const_data(&full_path));
+ dbus_error_free (error);
+ }
}
}

View File

@ -1,399 +0,0 @@
Index: dbus-send.1
===================================================================
--- tools/dbus-send.1 (revision 691)
+++ tools/dbus-send.1 (working copy)
@@ -36,8 +36,8 @@
specified. Following arguments, if any, are the message contents
(message arguments). These are given as a type name, a colon, and
then the value of the argument. The possible type names are: string,
-int32, uint32, double, byte, boolean. (D-BUS supports more types than
-these, but \fIdbus-send\fP currently does not.)
+int32, uint32, double, byte, boolean, array. (D-BUS supports more types
+than these, but \fIdbus-send\fP currently does not.)
.PP
Here is an example invocation:
@@ -46,7 +46,8 @@
dbus-send \-\-dest='org.freedesktop.ExampleService' \\
/org/freedesktop/sample/object/name \\
org.freedesktop.ExampleInterface.ExampleMethod \\
- int32:47 string:'hello world' double:65.32
+ int32:47 string:'hello world' double:65.32 \\
+ array:byte[0,1,2]
.fi
Index: dbus-print-message.c
===================================================================
--- tools/dbus-print-message.c (revision 691)
+++ tools/dbus-print-message.c (working copy)
@@ -39,6 +39,78 @@
}
}
+static void
+iterate (DBusMessageIter* iter, int entry_type)
+{
+ do
+ {
+ char *str;
+ dbus_uint32_t uint32;
+ dbus_int32_t int32;
+ double d;
+ unsigned char byte;
+ dbus_bool_t boolean;
+ int type = dbus_message_iter_get_arg_type (iter);
+
+ DBusMessageIter array_iter;
+ int array_type = DBUS_TYPE_INVALID;
+
+ if (type == DBUS_TYPE_INVALID)
+ {
+ if (entry_type == DBUS_TYPE_INVALID)
+ break;
+ else
+ type == entry_type;
+ }
+
+ switch (type)
+ {
+ case DBUS_TYPE_STRING:
+ str = dbus_message_iter_get_string (iter);
+ printf ("string:%s\n", str);
+ break;
+
+ case DBUS_TYPE_INT32:
+ int32 = dbus_message_iter_get_int32 (iter);
+ printf ("int32:%d\n", int32);
+ break;
+
+ case DBUS_TYPE_UINT32:
+ uint32 = dbus_message_iter_get_uint32 (iter);
+ printf ("int32:%u\n", uint32);
+ break;
+
+ case DBUS_TYPE_DOUBLE:
+ d = dbus_message_iter_get_double (iter);
+ printf ("double:%f\n", d);
+ break;
+
+ case DBUS_TYPE_BYTE:
+ byte = dbus_message_iter_get_byte (iter);
+ printf ("byte:%d\n", byte);
+ break;
+
+ case DBUS_TYPE_BOOLEAN:
+ boolean = dbus_message_iter_get_boolean (iter);
+ printf ("boolean:%s\n", boolean ? "true" : "false");
+ break;
+
+ case DBUS_TYPE_ARRAY:
+ dbus_message_iter_init_array_iterator (iter,
+ &array_iter,
+ &array_type);
+ printf ("array[\n");
+ iterate (&array_iter, array_type);
+ printf ("]\n");
+ break;
+
+ default:
+ printf ("(unknown arg type %d)\n", type);
+ break;
+ }
+ } while (dbus_message_iter_next (iter));
+}
+
void
print_message (DBusMessage *message)
{
@@ -81,55 +153,6 @@
dbus_message_iter_init (message, &iter);
- do
- {
- int type = dbus_message_iter_get_arg_type (&iter);
- char *str;
- dbus_uint32_t uint32;
- dbus_int32_t int32;
- double d;
- unsigned char byte;
- dbus_bool_t boolean;
-
- if (type == DBUS_TYPE_INVALID)
- break;
-
- switch (type)
- {
- case DBUS_TYPE_STRING:
- str = dbus_message_iter_get_string (&iter);
- printf ("string:%s\n", str);
- break;
-
- case DBUS_TYPE_INT32:
- int32 = dbus_message_iter_get_int32 (&iter);
- printf ("int32:%d\n", int32);
- break;
-
- case DBUS_TYPE_UINT32:
- uint32 = dbus_message_iter_get_uint32 (&iter);
- printf ("int32:%u\n", uint32);
- break;
-
- case DBUS_TYPE_DOUBLE:
- d = dbus_message_iter_get_double (&iter);
- printf ("double:%f\n", d);
- break;
-
- case DBUS_TYPE_BYTE:
- byte = dbus_message_iter_get_byte (&iter);
- printf ("byte:%d\n", byte);
- break;
-
- case DBUS_TYPE_BOOLEAN:
- boolean = dbus_message_iter_get_boolean (&iter);
- printf ("boolean:%s\n", boolean ? "true" : "false");
- break;
-
- default:
- printf ("(unknown arg type %d)\n", type);
- break;
- }
- } while (dbus_message_iter_next (&iter));
+ iterate (&iter, DBUS_TYPE_INVALID);
}
Index: dbus-send.c
===================================================================
--- tools/dbus-send.c (revision 691)
+++ tools/dbus-send.c (working copy)
@@ -34,6 +34,146 @@
exit (ecode);
}
+
+static int
+get_type (char **argv, char *arg)
+{
+ int type;
+
+ if (arg[0] == 0 || !strcmp (arg, "string"))
+ type = DBUS_TYPE_STRING;
+ else if (!strcmp (arg, "int32"))
+ type = DBUS_TYPE_INT32;
+ else if (!strcmp (arg, "uint32"))
+ type = DBUS_TYPE_UINT32;
+ else if (!strcmp (arg, "double"))
+ type = DBUS_TYPE_DOUBLE;
+ else if (!strcmp (arg, "byte"))
+ type = DBUS_TYPE_BYTE;
+ else if (!strcmp (arg, "boolean"))
+ type = DBUS_TYPE_BOOLEAN;
+ else if (!strcmp (arg, "array"))
+ type = DBUS_TYPE_ARRAY;
+ else
+ {
+ fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
+ exit (1);
+ }
+
+ return type;
+}
+
+
+static void
+append (char **argv, char *arg, char *c, DBusMessageIter *iter)
+{
+ int type, atype = 0;
+ dbus_uint32_t uint32;
+ dbus_int32_t int32;
+ double d;
+ unsigned char byte;
+ DBusMessageIter array_iter;
+ int end_found = 0;
+ char *next;
+
+ /* FIXME - we are ignoring OOM returns on all these functions */
+
+ type = get_type(argv, arg);
+ if (type == DBUS_TYPE_ARRAY)
+ {
+ arg = c;
+ c = strchr (c, '[');
+ if (c == NULL)
+ {
+ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
+ exit (1);
+ }
+
+ if (strchr(c, ']') == NULL)
+ {
+ fprintf (stderr, "%s: Data item \"%s\" is badly formed\n", argv[0], arg);
+ exit (1);
+ }
+
+ *(c++) = 0;
+
+ atype = get_type(argv, arg);
+ }
+
+
+ switch (type)
+ {
+ case DBUS_TYPE_BYTE:
+ byte = strtoul (c, NULL, 0);
+ dbus_message_iter_append_byte (iter, byte);
+ break;
+
+ case DBUS_TYPE_DOUBLE:
+ d = strtod (c, NULL);
+ dbus_message_iter_append_double (iter, d);
+ break;
+
+ case DBUS_TYPE_INT32:
+ int32 = strtol (c, NULL, 0);
+ dbus_message_iter_append_int32 (iter, int32);
+ break;
+
+ case DBUS_TYPE_UINT32:
+ uint32 = strtoul (c, NULL, 0);
+ dbus_message_iter_append_uint32 (iter, uint32);
+ break;
+
+ case DBUS_TYPE_STRING:
+ dbus_message_iter_append_string (iter, c);
+ break;
+
+ case DBUS_TYPE_BOOLEAN:
+ if (strcmp(c, "true") == 0)
+ dbus_message_iter_append_boolean (iter, TRUE);
+ else if (strcmp(c, "false") == 0)
+ dbus_message_iter_append_boolean (iter, FALSE);
+ else
+ {
+ fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
+ exit (1);
+ }
+ break;
+
+ case DBUS_TYPE_ARRAY:
+ /* Decompose parameters and put it as array */
+ dbus_message_iter_append_array(iter, &array_iter, atype);
+
+ while(!end_found)
+ {
+ next = strchr(c, ',');
+ if (next == NULL)
+ {
+ next = strchr(c, ']');
+
+ if (next != NULL)
+ next[0] = 0;
+ else
+ break;
+
+ end_found = 1;
+ }
+ else
+ {
+ next[0] = 0;
+ next++;
+ }
+
+ append (argv, arg, c, &array_iter);
+ c = next;
+ }
+ break;
+
+ default:
+ fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
+ exit (1);
+ }
+}
+
int
main (int argc, char *argv[])
{
@@ -174,12 +314,7 @@
{
char *arg;
char *c;
- int type;
- dbus_uint32_t uint32;
- dbus_int32_t int32;
- double d;
- unsigned char byte;
-
+
type = DBUS_TYPE_INVALID;
arg = argv[i++];
c = strchr (arg, ':');
@@ -192,67 +327,7 @@
*(c++) = 0;
- if (arg[0] == 0 || !strcmp (arg, "string"))
- type = DBUS_TYPE_STRING;
- else if (!strcmp (arg, "int32"))
- type = DBUS_TYPE_INT32;
- else if (!strcmp (arg, "uint32"))
- type = DBUS_TYPE_UINT32;
- else if (!strcmp (arg, "double"))
- type = DBUS_TYPE_DOUBLE;
- else if (!strcmp (arg, "byte"))
- type = DBUS_TYPE_BYTE;
- else if (!strcmp (arg, "boolean"))
- type = DBUS_TYPE_BOOLEAN;
- else
- {
- fprintf (stderr, "%s: Unknown type \"%s\"\n", argv[0], arg);
- exit (1);
- }
-
- /* FIXME - we are ignoring OOM returns on all these functions */
- switch (type)
- {
- case DBUS_TYPE_BYTE:
- byte = strtoul (c, NULL, 0);
- dbus_message_iter_append_byte (&iter, byte);
- break;
-
- case DBUS_TYPE_DOUBLE:
- d = strtod (c, NULL);
- dbus_message_iter_append_double (&iter, d);
- break;
-
- case DBUS_TYPE_INT32:
- int32 = strtol (c, NULL, 0);
- dbus_message_iter_append_int32 (&iter, int32);
- break;
-
- case DBUS_TYPE_UINT32:
- uint32 = strtoul (c, NULL, 0);
- dbus_message_iter_append_uint32 (&iter, uint32);
- break;
-
- case DBUS_TYPE_STRING:
- dbus_message_iter_append_string (&iter, c);
- break;
-
- case DBUS_TYPE_BOOLEAN:
- if (strcmp(c, "true") == 0)
- dbus_message_iter_append_boolean (&iter, TRUE);
- else if (strcmp(c, "false") == 0)
- dbus_message_iter_append_boolean (&iter, FALSE);
- else
- {
- fprintf (stderr, "%s: Expected \"true\" or \"false\" instead of \"%s\"\n", argv[0], c);
- exit (1);
- }
- break;
-
- default:
- fprintf (stderr, "%s: Unsupported data type\n", argv[0]);
- exit (1);
- }
+ append (argv, arg, c, &iter);
}
if (print_reply)

View File

@ -1,164 +0,0 @@
Index: dbus-0.23/configure.in
===================================================================
--- dbus-0.23.orig/configure.in 2005-04-02 17:14:37.780040976 -0500
+++ dbus-0.23/configure.in 2005-04-02 17:14:38.024003888 -0500
@@ -22,6 +22,9 @@
AC_ISC_POSIX
AC_HEADER_STDC
+AM_GNU_GETTEXT_VERSION(0.11.5)
+AM_GNU_GETTEXT([external], [need-ngettext])
+
AC_ARG_ENABLE(qt, [ --enable-qt enable Qt-friendly client library],enable_qt=$enableval,enable_qt=auto)
AC_ARG_ENABLE(glib, [ --enable-glib enable GLib-friendly client library],enable_glib=$enableval,enable_glib=auto)
AC_ARG_ENABLE(gtk, [ --enable-gtk enable GTK-requiring executables],enable_gtk=$enableval,enable_gtk=auto)
Index: dbus-0.23/glib/Makefile.am
===================================================================
--- dbus-0.23.orig/glib/Makefile.am 2004-07-29 04:00:45.000000000 -0400
+++ dbus-0.23/glib/Makefile.am 2005-04-02 17:22:27.302662688 -0500
@@ -15,7 +15,7 @@
dbus-gvalue.c \
dbus-gvalue.h
-libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(top_builddir)/dbus/libdbus-1.la
+libdbus_glib_1_la_LIBADD= $(DBUS_GLIB_LIBS) $(LIBINTL) $(top_builddir)/dbus/libdbus-1.la
## don't export symbols that start with "_" (we use this
## convention for internal symbols)
libdbus_glib_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
Index: dbus-0.23/glib/dbus-glib-tool.c
===================================================================
--- dbus-0.23.orig/glib/dbus-glib-tool.c 2004-08-09 23:07:00.000000000 -0400
+++ dbus-0.23/glib/dbus-glib-tool.c 2005-04-02 17:14:38.024003888 -0500
@@ -26,8 +26,13 @@
#include "dbus-gparser.h"
#include "dbus-gutils.h"
#include <locale.h>
+
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
+#else
+#define _(x) x
+#endif
#define N_(x) x
#include <stdio.h>
#include <stdlib.h>
Index: dbus-0.23/glib/dbus-glib.c
===================================================================
--- dbus-0.23.orig/glib/dbus-glib.c 2004-08-09 23:07:00.000000000 -0400
+++ dbus-0.23/glib/dbus-glib.c 2005-04-02 17:14:38.024003888 -0500
@@ -27,8 +27,12 @@
#include "dbus-gtest.h"
#include "dbus-gutils.h"
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
+#else
+#define _(x) x
+#endif
#define N_(x) x
/**
Index: dbus-0.23/glib/dbus-gmain.c
===================================================================
--- dbus-0.23.orig/glib/dbus-gmain.c 2004-11-13 02:07:47.000000000 -0500
+++ dbus-0.23/glib/dbus-gmain.c 2005-04-02 17:14:38.025003736 -0500
@@ -27,8 +27,12 @@
#include "dbus-gtest.h"
#include "dbus-gutils.h"
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
+#else
+#define _(x) x
+#endif
#define N_(x) x
/**
Index: dbus-0.23/glib/dbus-gparser.c
===================================================================
--- dbus-0.23.orig/glib/dbus-gparser.c 2004-08-09 23:07:00.000000000 -0400
+++ dbus-0.23/glib/dbus-gparser.c 2005-04-02 17:14:38.025003736 -0500
@@ -20,12 +20,18 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
+
+#include <config.h>
#include "dbus-gparser.h"
#include "dbus-gidl.h"
#include <string.h>
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) gettext ((x))
+#else
+#define _(x) x
+#endif
#define N_(x) x
#ifndef DOXYGEN_SHOULD_SKIP_THIS
Index: dbus-0.23/tools/Makefile.am
===================================================================
--- dbus-0.23.orig/tools/Makefile.am 2004-04-21 17:29:07.000000000 -0400
+++ dbus-0.23/tools/Makefile.am 2005-04-02 17:22:00.712704976 -0500
@@ -37,8 +37,8 @@
dbus_send_LDADD= $(top_builddir)/dbus/libdbus-1.la
dbus_monitor_LDADD= $(top_builddir)/glib/libdbus-glib-1.la
-dbus_launch_LDADD= $(DBUS_X_LIBS)
-dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
+dbus_launch_LDADD= $(DBUS_X_LIBS) $(LIBINTL)
+dbus_viewer_LDADD= $(DBUS_GLIB_TOOL_LIBS) $(LIBINTL) $(top_builddir)/glib/libdbus-gtool.la $(DBUS_GTK_LIBS)
man_MANS = dbus-send.1 dbus-monitor.1 dbus-launch.1 dbus-cleanup-sockets.1
EXTRA_DIST = $(man_MANS)
Index: dbus-0.23/tools/dbus-launch.c
===================================================================
--- dbus-0.23.orig/tools/dbus-launch.c 2004-08-09 23:07:01.000000000 -0400
+++ dbus-0.23/tools/dbus-launch.c 2005-04-02 17:14:38.026003584 -0500
@@ -22,6 +22,8 @@
*/
#include <config.h>
#include <stdlib.h>
+#include <sys/time.h>
+#include <sys/types.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
Index: dbus-0.23/tools/dbus-tree-view.c
===================================================================
--- dbus-0.23.orig/tools/dbus-tree-view.c 2004-08-09 23:07:01.000000000 -0400
+++ dbus-0.23/tools/dbus-tree-view.c 2005-04-02 17:14:38.026003584 -0500
@@ -24,8 +24,12 @@
#include <config.h>
#include "dbus-tree-view.h"
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
+#else
+#define _(x) x
+#endif
#define N_(x) x
enum
Index: dbus-0.23/tools/dbus-viewer.c
===================================================================
--- dbus-0.23.orig/tools/dbus-viewer.c 2004-08-09 23:07:01.000000000 -0400
+++ dbus-0.23/tools/dbus-viewer.c 2005-04-02 17:14:38.027003432 -0500
@@ -30,8 +30,12 @@
#include <glib/dbus-gparser.h>
#include <glib/dbus-gutils.h>
+#ifdef HAVE_GETTEXT
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
+#else
+#define _(x) x
+#endif
#define N_(x) x
typedef struct

View File

@ -1,12 +0,0 @@
--- dbus-0.34/tools/Makefile.am.old 2005-06-27 21:48:44.000000000 +0100
+++ dbus-0.34/tools/Makefile.am 2005-06-27 21:49:04.000000000 +0100
@@ -6,9 +6,6 @@
nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h
libdbus_glibdir = $(includedir)/dbus-1.0/dbus
-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/glib/dbus-binding-tool
- $(top_builddir)/glib/dbus-binding-tool --mode=glib-client --output=dbus-glib-bindings.h dbus-bus-introspect.xml
-
BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml
else

View File

@ -1,8 +0,0 @@
--- dbus-0.36.2/glib/Makefile.am.orig 2005-09-06 17:30:26 +0200
+++ dbus-0.36.2/glib/Makefile.am 2005-09-06 17:30:34 +0200
@@ -1,4 +1,4 @@
-SUBDIRS = . examples
+SUBDIRS = .
INCLUDES=-I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS) -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\"

View File

@ -1,19 +0,0 @@
--- dbus-0.34/tools/Makefile.am.old 2005-06-27 20:54:36.000000000 +0100
+++ dbus-0.34/tools/Makefile.am 2005-06-27 20:54:43.000000000 +0100
@@ -21,16 +21,6 @@
GTK_TOOLS=
endif
-if HAVE_GLIB
-noinst_PROGRAMS = print-introspect
-
-print_introspect_SOURCES = print-introspect.c
-print_introspect_LDADD = $(top_builddir)/glib/libdbus-glib-1.la
-
-dbus-bus-introspect.xml: $(top_builddir)/bus/dbus-daemon dbus-launch print-introspect $(top_builddir)/bus/dbus-daemon
- DBUS_TOP_BUILDDIR=$(top_builddir) $(srcdir)/run-with-tmp-session-bus.sh ./print-introspect org.freedesktop.DBus /org/freedesktop/DBus > dbus-bus-introspect.xml.tmp && mv dbus-bus-introspect.xml.tmp dbus-bus-introspect.xml
-endif
-
bin_PROGRAMS=dbus-send $(GLIB_TOOLS) dbus-launch dbus-cleanup-sockets $(GTK_TOOLS)
dbus_send_SOURCES= \

View File

@ -1,22 +0,0 @@
--- dbus-0.23.4/bus/Makefile.am.old 2006-02-04 11:51:26.000000000 +0000
+++ dbus-0.23.4/bus/Makefile.am 2006-02-04 11:51:27.000000000 +0000
@@ -63,7 +63,7 @@
dbus_daemon_1_LDADD= \
$(EFENCE) \
$(DBUS_BUS_LIBS) \
- $(top_builddir)/dbus/libdbus-convenience.la
+ $(top_builddir)/dbus/libdbus-1.la $(top_builddir)/dbus/libdbus-convenience.la
## note that TESTS has special meaning (stuff to use in make check)
## so if adding tests not to be run in make check, don't add them to
--- dbus-0.23.4/dbus/Makefile.am.old 2006-02-04 13:27:03.000000000 +0000
+++ dbus-0.23.4/dbus/Makefile.am 2006-02-04 13:27:04.000000000 +0000
@@ -144,7 +144,7 @@
libdbus_1_la_LIBADD= $(DBUS_CLIENT_LIBS)
## don't export symbols that start with "_" (we use this
## convention for internal symbols)
-libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
+#libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*"
## note that TESTS has special meaning (stuff to use in make check)
## so if adding tests not to be run in make check, don't add them to

View File

@ -1,17 +0,0 @@
diff -ur dbus/dbus/dbus-spawn.c dbus.work/dbus/dbus-spawn.c
--- dbus/dbus/dbus-spawn.c 2005-03-14 14:25:02.849823496 +0200
+++ dbus.work/dbus/dbus-spawn.c 2005-03-14 14:34:43.947483224 +0200
@@ -1117,6 +1117,12 @@
}
else if (grandchild_pid == 0)
{
+ int p;
+ errno = 0;
+ p = getpriority(PRIO_PROCESS, 0);
+ if (!errno && p < 0) {
+ setpriority(PRIO_PROCESS, 0, 0);
+ }
do_exec (child_err_report_pipe[WRITE_END],
argv,
child_setup, user_data);
Only in dbus.work/dbus: dbus-spawn.c~

View File

@ -1,12 +0,0 @@
Only in /home/kihamala/svn/dbus/tools: .svn
diff -ur tools/dbus-launch.c /home/kihamala/svn/dbus/tools/dbus-launch.c
--- tools/dbus-launch.c 2004-08-10 06:07:01.000000000 +0300
+++ /home/kihamala/svn/dbus/tools/dbus-launch.c 2005-02-09 17:59:05.000000000 +0200
@@ -20,6 +20,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
+#include <sys/select.h>
#include <config.h>
#include <stdlib.h>
#include <unistd.h>