Havoc Pennington [Tue, 23 Sep 2003 23:47:09 +0000 (23:47 +0000)]
2003-09-23 Havoc Pennington <hp@redhat.com>
* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
(dbus_gproxy_disconnect_signal): implement
(dbus_gproxy_manager_remove_signal_match): implement
(dbus_gproxy_manager_add_signal_match): implement
(dbus_gproxy_oneway_call): implement
Havoc Pennington [Tue, 23 Sep 2003 05:04:51 +0000 (05:04 +0000)]
trivial header change
Havoc Pennington [Tue, 23 Sep 2003 04:20:06 +0000 (04:20 +0000)]
2003-09-23 Havoc Pennington <hp@pobox.com>
* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
subclass. This means dropping the transparent thread safety of the
proxy; you now need a separate proxy per-thread, or your own
locking on the proxy. Probably right anyway.
(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
Havoc Pennington [Mon, 22 Sep 2003 23:50:52 +0000 (23:50 +0000)]
2003-09-22 Havoc Pennington <hp@redhat.com>
* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
Seth Nickell [Mon, 22 Sep 2003 05:45:59 +0000 (05:45 +0000)]
2003-09-21 Seth Nickell <seth@gnome.org>
First checkin of the Python bindings.
* python/.cvsignore:
* python/Makefile.am:
* python/dbus_bindings.pyx.in:
* python/dbus_h_wrapper.h:
Pieces for Pyrex to operate on, building a dbus_bindings.so
python module for low-level access to the DBus APIs.
* python/dbus.py:
High-level Python module for accessing DBus objects.
* configure.in:
* Makefile.am:
Build stuff for the python bindings.
* acinclude.m4:
Extra macro needed for finding the Python C header files.
Havoc Pennington [Mon, 22 Sep 2003 03:11:12 +0000 (03:11 +0000)]
2003-09-21 Havoc Pennington <hp@pobox.com>
* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
implementing the proxy manager, didn't get very far.
* dbus/dbus-bus.c (dbus_bus_add_match): new
(dbus_bus_remove_match): new
* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
path_name argument; adjust the other not-yet-implemented
gproxy constructors to be what I think they should be.
Havoc Pennington [Mon, 22 Sep 2003 01:29:14 +0000 (01:29 +0000)]
2003-09-21 Havoc Pennington <hp@pobox.com>
* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
by default for message bus connections.
* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
exit_on_disconnect flag is set and we process the disconnected
signal.
(dbus_connection_set_exit_on_disconnect): new function
Havoc Pennington [Sun, 21 Sep 2003 19:53:56 +0000 (19:53 +0000)]
2003-09-21 Havoc Pennington <hp@pobox.com>
Get matching rules mostly working in the bus; only actually
parsing the rule text remains. However, the client side of
"signal connections" hasn't been started, this patch is only the
bus side.
* dbus/dispatch.c: fix for the matching rules changes
* bus/driver.c (bus_driver_handle_remove_match)
(bus_driver_handle_add_match): send an ack reply from these
method calls
* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
arguments, reported by Seth Nickell
* bus/config-parser.c (append_rule_from_element): support
eavesdrop=true|false attribute on policies so match rules
can be prevented from snooping on the system bus.
* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
and "destination" in attribute names; fix some docs bugs;
add eavesdrop=true|false attribute
* bus/driver.c (bus_driver_handle_add_match)
(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
messages
* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
rid of broadcast service concept, signals are just always broadcast
* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
mostly implement matching rules stuff (currently only exposed as signal
connections)
Mark McLoughlin [Sun, 21 Sep 2003 18:43:20 +0000 (18:43 +0000)]
2003-09-21 Mark McLoughlin <mark@skynet.ie>
* doc/dbus-specification.sgml: Change the header field name
to be an enum and update the rest of the spec to reference
the fields using the conventinal name.
* dbus/dbus-protocol.h: update to reflect the spec.
* doc/TODO: add item to remove the 4 byte alignment requirement.
* dbus/dbus-message.c: Remove the code to generalise the
header/body length and serial number header fields as named
header fields so we can reference field names using the
protocol values.
(append_int_field), (append_uint_field), (append_string_field):
Append the field name as a byte rather than four chars.
(delete_int_or_uint_field), (delete_string_field): reflect the
fact that the field name and typecode now occupy 4 bytes instead
of 8.
(decode_string_field), (decode_header_data): update to reflect
protocol changes and move the field specific encoding from
decode_string_field() back into decode_header_data().
* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
Add utility to aid debugging.
* dbus/dbus-message-builder.c:
(append_string_field), (_dbus_message_data_load): Update to
reflect protocol changes; Change the FIELD_NAME directive
to HEADER_FIELD and allow it to take the field's conventional
name rather than the actual value.
* test/data/*/*.message: Update to use HEADER_FIELD instead
of FIELD_NAME; Always align the header on an 8 byte boundary
*before* updating the header length.
Havoc Pennington [Wed, 17 Sep 2003 13:56:29 +0000 (13:56 +0000)]
must cvs add...
Havoc Pennington [Wed, 17 Sep 2003 03:52:07 +0000 (03:52 +0000)]
2003-09-15 Havoc Pennington <hp@pobox.com>
* dbus/dbus-pending-call.c: add the get/set object data
boilerplate as for DBusConnection, etc. Use generic object data
for the notify callback.
* glib/dbus-gparser.c (parse_node): parse child nodes
* tools/dbus-viewer.c: more hacking on the dbus-viewer
* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
contain functions shared between the convenience lib and the
installed lib
* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
-export-symbols-regex to the GLib library
* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
fix the locking in here, and add a default handler for
Introspect() that just returns sub-nodes.
2003-09-14 Havoc Pennington <hp@pobox.com>
* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
rather than gfoo consistent
* glib/dbus-gproxy.h: delete for now, move contents to
dbus-glib.h, because the include files don't work right since we
aren't in the dbus/ subdir.
* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
(dbus_gproxy_end_call): finish
(dbus_gproxy_begin_call): finish
* glib/dbus-gmain.c (dbus_set_g_error): new
* glib/dbus-gobject.c (handle_introspect): include information
about child nodes in the introspection
* dbus/dbus-connection.c (dbus_connection_list_registered): new
function to help in implementation of introspection
* dbus/dbus-object-tree.c
(_dbus_object_tree_list_registered_and_unlock): new function
2003-09-12 Havoc Pennington <hp@pobox.com>
* glib/dbus-gidl.h: add common base class for all the foo_info
types
* tools/dbus-viewer.c: add GTK-based introspection UI thingy
similar to kdcop
* test/Makefile.am: try test srcdir -ef . in addition to test
srcdir = ., one of them should work (yeah lame)
* glib/Makefile.am: build the "idl" parser stuff as a convenience
library
* glib/dbus-gparser.h: make description_load routines return
NodeInfo* not Parser*
* Makefile.am (SUBDIRS): build test dir after all library dirs
* configure.in: add GTK+ detection
Havoc Pennington [Sun, 7 Sep 2003 23:04:54 +0000 (23:04 +0000)]
2003-09-07 Havoc Pennington <hp@pobox.com>
* Make Doxygen contented.
Anders Carlsson [Sun, 7 Sep 2003 16:21:12 +0000 (16:21 +0000)]
Update
Anders Carlsson [Sun, 7 Sep 2003 14:22:25 +0000 (14:22 +0000)]
Add this
Havoc Pennington [Sun, 7 Sep 2003 05:01:48 +0000 (05:01 +0000)]
2003-09-07 Havoc Pennington <hp@pobox.com>
* doc/dbus-specification.sgml: more updates
Havoc Pennington [Sat, 6 Sep 2003 21:12:11 +0000 (21:12 +0000)]
2003-09-06 Havoc Pennington <hp@pobox.com>
* doc/dbus-specification.sgml: partial updates
* bus/dbus-daemon-1.1.in: fix the config file docs for the
zillionth time; hopefully I edited the right file this time.
* bus/config-parser.c (append_rule_from_element): support
send_type, send_path, receive_type, receive_path
* bus/policy.c: add message type and path to the list of things
that can be "firewalled"
Havoc Pennington [Sat, 6 Sep 2003 18:21:00 +0000 (18:21 +0000)]
2003-09-06 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
(dbus_connection_register_object_path): make this not handle
messages to paths below the given path
Havoc Pennington [Fri, 5 Sep 2003 04:14:15 +0000 (04:14 +0000)]
more missing files
Havoc Pennington [Thu, 4 Sep 2003 00:21:36 +0000 (00:21 +0000)]
2003-09-03 Havoc Pennington <hp@pobox.com>
* test/glib/Makefile.am: add this with random glib-linked test
programs
* glib/Makefile.am: remove the random test programs from here,
leave only the unit tests
* glib/dbus-gobject.c (_dbus_gobject_test): add test for
uscore/javacaps conversion, and fix
(get_object_property, set_object_property): change to .NET
convention for mapping props to methods, set_FooBar/get_FooBar,
since one language has such a convention we may as well copy it.
Plus real methods in either getFooBar or get_foo_bar style won't
collide with this convention.
Havoc Pennington [Wed, 3 Sep 2003 23:27:36 +0000 (23:27 +0000)]
forgot to cvs add dbus-gtest.[hc]
Havoc Pennington [Wed, 3 Sep 2003 02:08:25 +0000 (02:08 +0000)]
2003-09-01 Havoc Pennington <hp@pobox.com>
* glib/dbus-gparser.c: implement
* glib/dbus-gobject.c: start implementing skeletons support
* configure.in: when disabling checks/assert, also define
G_DISABLE_ASSERT and G_DISABLE_CHECKS
Havoc Pennington [Mon, 1 Sep 2003 18:02:06 +0000 (18:02 +0000)]
2003-09-01 Havoc Pennington <hp@pobox.com>
* glib/Makefile.am: rearrange a bunch of files and get "make
check" framework set up
Havoc Pennington [Sun, 31 Aug 2003 17:26:22 +0000 (17:26 +0000)]
2003-08-31 Havoc Pennington <hp@pobox.com>
* fix build with --disable-tests
Havoc Pennington [Sun, 31 Aug 2003 03:25:24 +0000 (03:25 +0000)]
2003-08-30 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c: purge DBusMessageHandler
* dbus/dbus-message-handler.c: remove DBusMessageHandler, just
use callbacks everywhere
Havoc Pennington [Sun, 31 Aug 2003 01:51:44 +0000 (01:51 +0000)]
2003-08-30 Havoc Pennington <hp@pobox.com>
* test/data/valid-config-files/system.d/test.conf: change to
root for the user so warnings don't get printed
* dbus/dbus-message.c: add dbus_message_get_path,
dbus_message_set_path
* dbus/dbus-object-tree.c (do_test_dispatch): add test of
dispatching to a path
* dbus/dbus-string.c (_dbus_string_validate_path): add
* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
(_dbus_marshal_object_path): implement
* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
to contain the path to the target object
(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
Havoc Pennington [Sat, 30 Aug 2003 17:09:24 +0000 (17:09 +0000)]
2003-08-30 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
Havoc Pennington [Sat, 30 Aug 2003 02:56:12 +0000 (02:56 +0000)]
2003-08-29 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
registered
(struct DBusObjectSubtree): shrink this
a lot, since we may have a lot of them
(_dbus_object_tree_free_all_unlocked): implement
(_dbus_object_tree_dispatch_and_unlock): implement
Havoc Pennington [Sat, 30 Aug 2003 00:26:00 +0000 (00:26 +0000)]
2003-08-29 Havoc Pennington <hp@pobox.com>
* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
Havoc Pennington [Fri, 29 Aug 2003 01:05:00 +0000 (01:05 +0000)]
2003-08-28 Havoc Pennington <hp@pobox.com>
purge DBusObjectID
* dbus/dbus-connection.c: port to no ObjectID, create a
DBusObjectTree, rename ObjectTree to ObjectPath in public API
* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
everything except UnregisterFunction and MessageFunction
* dbus/dbus-marshal.c: port away from DBusObjectID,
add DBUS_TYPE_OBJECT_PATH
* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
dbus/dbus-objectid.[hc]: remove these, we are moving to
path-based object IDs
Havoc Pennington [Mon, 25 Aug 2003 14:56:53 +0000 (14:56 +0000)]
2003-08-25 Havoc Pennington <hp@pobox.com>
Just noticed that dbus_message_test is hosed, I wonder when I
broke that. I thought make check was passing earlier...
* dbus/dbus-object-tree.c: add new "object tree" to match DCOP
container tree, will replace most of dbus-object-registry
* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
screwup
Havoc Pennington [Wed, 20 Aug 2003 14:48:04 +0000 (14:48 +0000)]
2003-08-19 Havoc Pennington <hp@pobox.com>
* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
(dbus_message_is_error): fix this function
* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
match
* bus/policy.c (bus_client_policy_check_can_receive): fix code to
reflect clarified man page
(bus_client_policy_check_can_send): ditto
* bus/session.conf.in: fixup
* bus/system.conf.in: fixup
Havoc Pennington [Mon, 18 Aug 2003 22:43:30 +0000 (22:43 +0000)]
2003-08-18 Havoc Pennington <hp@redhat.com>
* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
dumb bug created earlier (wrong order of args to
decode_header_data())
* tools/dbus-send.c: port
* tools/dbus-print-message.c (print_message): port
* test/data/*messages: port all messages over
* dbus/dbus-message-builder.c: support including
message type
* bus/driver.c: port over
* bus/dispatch.c: port over to new stuff
* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
rename disconnect signal to "Disconnected"
Havoc Pennington [Mon, 18 Aug 2003 15:27:33 +0000 (15:27 +0000)]
2003-08-17 Havoc Pennington <hp@pobox.com>
This doesn't compile yet, but syncing up so I can hack on it from
work. What are branches for if not broken code? ;-)
* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
DBUS_HEADER_FIELD_ERROR_NAME
* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
for the interface+member pairs
(string_hash): change to use g_str_hash algorithm
(find_direct_function, find_string_function): refactor these to
share most code.
* dbus/dbus-message.c: port all of this over to support
interface/member fields instead of name field
* dbus/dbus-object-registry.c: port over
* dbus/dbus-string.c (_dbus_string_validate_interface): rename
from _dbus_string_validate_name
* bus/dbus-daemon-1.1: change file format for the
<deny>/<allow> stuff to match new message naming scheme
* bus/policy.c: port over
* bus/config-parser.c: parse new format
Havoc Pennington [Sat, 16 Aug 2003 21:28:47 +0000 (21:28 +0000)]
2003-08-16 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-registry.c (add_and_remove_objects): remove
broken assertion
* glib/dbus-gproxy.c: some hacking
Havoc Pennington [Fri, 15 Aug 2003 23:10:12 +0000 (23:10 +0000)]
2003-08-15 Havoc Pennington <hp@redhat.com>
* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
* dbus/dbus-connection.c
(dbus_connection_send_with_reply_and_block): factor out internals;
change to convert any error replies to DBusError instead of
returning them as a message
Havoc Pennington [Fri, 15 Aug 2003 04:17:58 +0000 (04:17 +0000)]
2003-08-15 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c,
dbus/dbus-pending-call.c: Finish the pending call stuff
Havoc Pennington [Thu, 14 Aug 2003 22:49:13 +0000 (22:49 +0000)]
2003-08-14 Havoc Pennington <hp@redhat.com>
* dbus/dbus-pending-call.c: start on new object that will replace
DBusMessageHandler and ReplyHandlerData for tracking outstanding
replies
* dbus/dbus-gproxy.c: start on proxy object used to communicate
with remote interfaces
* dbus/dbus-gidl.c: do the boring boilerplate in here
Havoc Pennington [Wed, 13 Aug 2003 22:14:47 +0000 (22:14 +0000)]
new file, just fooling around
Havoc Pennington [Tue, 12 Aug 2003 04:15:49 +0000 (04:15 +0000)]
2003-08-12 Havoc Pennington <hp@pobox.com>
* bus/dispatch.c (bus_dispatch): make this return proper
DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
* dbus/dbus-errors.c (dbus_set_error): use
_dbus_string_append_printf_valist
* dbus/dbus-string.c (_dbus_string_append_printf_valist)
(_dbus_string_append_printf): new
* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
UNKNOWN_METHOD
* dbus/dbus-connection.c (dbus_connection_dispatch): handle
DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
message is unhandled.
Havoc Pennington [Tue, 12 Aug 2003 02:43:50 +0000 (02:43 +0000)]
2003-08-11 Havoc Pennington <hp@pobox.com>
* bus/test.c (client_disconnect_handler): change to return
HANDLED (would have been REMOVE_MESSAGE)
* dbus/dbus-object.h (enum DBusHandlerResult): rename to
HANDLED/NOT_YET_HANDLED instead of
REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
should be used.
Havoc Pennington [Mon, 11 Aug 2003 02:11:58 +0000 (02:11 +0000)]
2003-08-10 Havoc Pennington <hp@pobox.com>
* tools/dbus-send.c (main): add --type argument, for now
supporting only method_call and signal types.
* tools/dbus-print-message.c: print message type
* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
init connection->objects
* doc/dbus-specification.sgml: fix sgml
* bus/*.c: port over to object-instance API changes
* test/test-service.c: ditto
* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
name, we will have to fix up the rest of the code to also handle
this
(dbus_message_new): generic message-creation call
(set_string_field): allow appending name field
Havoc Pennington [Thu, 7 Aug 2003 02:18:54 +0000 (02:18 +0000)]
2003-08-06 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-registry.c: implement signal connection
and dispatch
* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
* dbus/dbus-internals.c (_dbus_memdup): new function
Havoc Pennington [Sat, 2 Aug 2003 14:58:33 +0000 (14:58 +0000)]
2003-08-02 Havoc Pennington <hp@pobox.com>
* dbus/dbus-message.c (dbus_message_get_no_reply)
(dbus_message_set_no_reply): add these and remove
set_is_error/get_is_error
* dbus/dbus-protocol.h, doc/dbus-specification.sgml:
remove the ERROR flag, since there's now an ERROR type
Havoc Pennington [Sat, 2 Aug 2003 03:39:35 +0000 (03:39 +0000)]
2003-08-01 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
implement
* dbus/dbus-message.c (dbus_message_get_type): new function
* doc/dbus-specification.sgml: add "type" byte to messages
Havoc Pennington [Sat, 2 Aug 2003 01:59:14 +0000 (01:59 +0000)]
2003-08-01 Havoc Pennington <hp@pobox.com>
* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
a message type enum to distinguish kinds of message
(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
that need not be replied to
2003-08-01 Havoc Pennington <hp@pobox.com>
* dbus/dbus-marshal.c: adapt to DBusObjectID changes
(unpack_8_octets): fix no-64-bit-int bug
* dbus/dbus-object-registry.c (validate_id): validate the
connection ID bits, not just the instance ID.
* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
the connection-global 33 bits of the object ID
* dbus/dbus-object-registry.c (info_from_entry): fill in
object ID in the new way
* dbus/dbus-objectid.h: rather than high/low bits, specifically
define server/client/instance bits.
Havoc Pennington [Thu, 17 Jul 2003 01:10:57 +0000 (01:10 +0000)]
2003-07-13 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.h (struct DBusObjectVTable): add padding
fields to DBusObjectVTable and DBusObjectInfo
Havoc Pennington [Sat, 12 Jul 2003 19:32:35 +0000 (19:32 +0000)]
2003-07-12 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-registry.c: implement unit test,
fix bugs discovered in process
* dbus/dbus-connection.c: remove handler_table and
register_handler(), add DBusObjectRegistry usage
* dbus/dbus-objectid.c (dbus_object_id_is_null)
(dbus_object_id_set_null): new functions
Havoc Pennington [Wed, 9 Jul 2003 03:41:00 +0000 (03:41 +0000)]
2003-07-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.c: implement some of this
* dbus/dbus-object-registry.c
(_dbus_object_registry_add_and_unlock): fill in the object_id out
param
(_dbus_object_registry_new): handle OOM
Havoc Pennington [Tue, 8 Jul 2003 05:07:32 +0000 (05:07 +0000)]
2003-07-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.h: sketch out an API for registering objects
with a connection, that allows us to use as little as 24 bytes
per object and lets application code represent an object in
any conceivable way.
* dbus/dbus-object-registry.c: implement the hard bits of the
DBusConnection aspect of object API. Not yet wired up.
Havoc Pennington [Mon, 7 Jul 2003 00:47:01 +0000 (00:47 +0000)]
2003-07-06 Havoc Pennington <hp@pobox.com>
* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
(_dbus_marshal_object_id): new
(_dbus_demarshal_object_id): new
(_dbus_marshal_get_arg_end_pos): support object ID type, and
consolidate identical switch cases. Don't conditionalize handling
of DBUS_TYPE_UINT64, need to handle the type always.
(_dbus_marshal_validate_arg): consolidate identical cases, and
handle DBUS_TYPE_OBJECT_ID
* dbus/dbus-objectid.c: new file with DBusObjectID data type.
* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
Ryan Lortie [Thu, 3 Jul 2003 01:48:31 +0000 (01:48 +0000)]
This commit was manufactured by cvs2svn to create branch
'dbus-object-names'.
Havoc Pennington [Thu, 3 Jul 2003 01:48:31 +0000 (01:48 +0000)]
2003-06-29 Havoc Pennington <hp@pobox.com>
* mono/Test.cs (class Test): fire up a main loop and run it
* mono/DBus.cs (DBus): don't g_thread_init since it can only be
done once, the app has to do it
2003-06-26 Havoc Pennington <hp@pobox.com>
* mono/Connection.cs: set up connection with the glib main loop
Havoc Pennington [Tue, 1 Jul 2003 20:21:35 +0000 (20:21 +0000)]
2003-07-01 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.sgml: clarify the format of a type code,
change suggested by Jim Blandy
Miloslav Trmac [Sun, 29 Jun 2003 15:35:06 +0000 (15:35 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* doc/Makefile.am:
* tools/Makefile.am: Don't assume srcdir == builddir.
Miloslav Trmac [Sat, 28 Jun 2003 23:12:11 +0000 (23:12 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
the allocated block.
(_dbus_memory_test): New function.
* dbus/dbus-test.h: Add _dbus_memory_test ().
* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
Miloslav Trmac [Sat, 28 Jun 2003 23:08:14 +0000 (23:08 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-message.c (decode_header_data): Use %.4s instead
of %c%c%c%c.
(dbus_message_new): Remove obsolete @todo.
Miloslav Trmac [Sat, 28 Jun 2003 23:03:26 +0000 (23:03 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
(_dbus_marshal_set_uint64): Fix comment.
Miloslav Trmac [Sat, 28 Jun 2003 23:00:58 +0000 (23:00 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
hardcode FIELD_REPLY_SERIAL.
Miloslav Trmac [Sat, 28 Jun 2003 22:56:27 +0000 (22:56 +0000)]
2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
Havoc Pennington [Wed, 25 Jun 2003 01:05:46 +0000 (01:05 +0000)]
2003-06-24 Havoc Pennington <hp@pobox.com>
* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
Anders Carlsson [Mon, 23 Jun 2003 17:39:48 +0000 (17:39 +0000)]
2003-06-23 Anders Carlsson <andersca@codefactory.se>
* configure.in:
* gcj/.cvsignore:
* gcj/Hello.java:
* gcj/Makefile.am:
* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
* gcj/org/.cvsignore:
* gcj/org/Makefile.am:
* gcj/org/freedesktop/.cvsignore:
* gcj/org/freedesktop/Makefile.am:
* gcj/org/freedesktop/dbus/.cvsignore:
* gcj/org/freedesktop/dbus/Makefile.am:
* gcj/org/freedesktop/dbus/Message.java: (Message),
(Message.Message):
* gcj/org/freedesktop/dbus/natMessage.cc:
Fix the build system.
Havoc Pennington [Mon, 23 Jun 2003 02:12:19 +0000 (02:12 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Connection.cs: add more bindings
* dbus/dbus-threads.c (dbus_threads_init): allow calling this
more than once.
Havoc Pennington [Sun, 22 Jun 2003 22:59:31 +0000 (22:59 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
Start wrapping more stuff.
Havoc Pennington [Sun, 22 Jun 2003 20:46:17 +0000 (20:46 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Message.cs: implement Message.Wrap() that ensures we only
have a single C# wrapper per DBusMessage, assuming it works which
it probably doesn't.
* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
(dbus_message_free_data_slot): new
(dbus_message_set_data): new
(dbus_message_get_data): new
Havoc Pennington [Sun, 22 Jun 2003 19:39:47 +0000 (19:39 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
(_dbus_data_slot_allocator_alloc): rework these to keep a
reference count on each slot and automatically manage a global
slot ID variable passed in by address
* bus/bus.c: convert to new dataslot API
* dbus/dbus-bus.c: convert to new dataslot API
* dbus/dbus-connection.c: convert to new dataslot API
* dbus/dbus-server.c: convert to new dataslot API
* glib/dbus-gmain.c: ditto
* bus/test.c: ditto
* bus/connection.c: ditto
Anders Carlsson [Sun, 22 Jun 2003 15:24:16 +0000 (15:24 +0000)]
2003-06-22 Anders Carlsson <andersca@codefactory.se>
* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
after the gcj checks so that the correct configuration tags
will be added to libtool.
Anders Carlsson [Sun, 22 Jun 2003 06:53:42 +0000 (06:53 +0000)]
2003-06-22 Anders Carlsson <andersca@codefactory.se>
* dbus-glib-1.pc.in: No need to specify any includes since
dbus-1.pc.in has those.
Havoc Pennington [Sun, 22 Jun 2003 05:53:06 +0000 (05:53 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/*, gcj/*, configure.in, Makefile.am:
Check in makefiles and subdirs for mono and gcj bindings.
Neither binding actually exists, just trying to get through
all the build and other boring bits.
Philip Blundell [Sat, 21 Jun 2003 22:20:30 +0000 (22:20 +0000)]
2003-06-21 Philip Blundell <philb@gnu.org>
* tools/dbus-monitor.1: Updated.
* tools/dbus-send.1: Likewise.
Anders Carlsson [Sat, 21 Jun 2003 07:51:39 +0000 (07:51 +0000)]
2003-06-20 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-transport-unix.c (unix_handle_watch): Check
for hangup and error after checking read so we won't discard
pending data if both hangup and read are set.
Anders Carlsson [Thu, 19 Jun 2003 22:22:37 +0000 (22:22 +0000)]
2003-06-19 Philip Blundell <philb@gnu.org>
* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
* tools/dbus-send.c: Accept both --system and --session.
* tools/dbus-monitor.c: Same here.
Anders Carlsson [Thu, 19 Jun 2003 22:19:56 +0000 (22:19 +0000)]
2003-06-19 Anders Carlsson <andersca@codefactory.se>
* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
from C++ (Patch by Miloslav Trmac).
Anders Carlsson [Wed, 18 Jun 2003 10:56:34 +0000 (10:56 +0000)]
Add .dbus-keyrings
Anders Carlsson [Wed, 18 Jun 2003 10:48:08 +0000 (10:48 +0000)]
Add .cvsignore files
Joe Shaw [Sun, 15 Jun 2003 10:45:07 +0000 (10:45 +0000)]
2003-06-15 Joe Shaw <joe@assbarn.com>
* configure.in: Check for socklen_t.
* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
* test/test-segfault.c: Add #include <sys/time.h>
* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
dbus-launch needs it.
Havoc Pennington [Mon, 9 Jun 2003 22:09:34 +0000 (22:09 +0000)]
2003-06-09 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
SUN_LEN, it breaks abstract socket usage
* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
starts of lines.
Havoc Pennington [Wed, 4 Jun 2003 05:20:20 +0000 (05:20 +0000)]
2003-06-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
using unix:abstract=/foo, and when listening in a tmpdir
i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
* dbus/dbus-transport.c (_dbus_transport_open): support
unix:abstract=/foo
* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
support abstract sockets
* dbus/dbus-transport-unix.c
(_dbus_transport_new_for_domain_socket): support abstract sockets
* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
toggle as an argument, implement abstract namespace support
(_dbus_listen_unix_socket): ditto
* configure.in: add --enable-abstract-sockets and implement
a configure check for autodetection of the right value.
Havoc Pennington [Sun, 1 Jun 2003 07:33:59 +0000 (07:33 +0000)]
2003-06-01 Havoc Pennington <hp@pobox.com>
* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
in /tmp (though on Linux this will end up being useless,
when we add abstract namespace support)
* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
subst'ing it
Colin Walters [Wed, 28 May 2003 21:26:03 +0000 (21:26 +0000)]
2003-05-28 Colin Walters <walters@verbum.org>
* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
Anders Carlsson [Sun, 18 May 2003 11:18:11 +0000 (11:18 +0000)]
2003-05-18 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-message.c (dbus_message_new): Remove @todo.
Colin Walters [Sun, 18 May 2003 02:39:47 +0000 (02:39 +0000)]
2003-05-17 Colin Walters <walters@gnu.org>
* tools/dbus-send.c: Don't exit with an error code if --help was
passed. Default to using the session bus instead of the system
one.
* tools/dbus-launch.c: Ditto.
* tools/dbus-monitor.c: Ditto.
* tools/dbus-send.1: Update with new arguments.
* tools/dbus-launch.c: Emit code to export variables. New
arguments -s and -c to specify shell syntax, and a bit of code to
autodetect syntax. Also, allow specifying a program to run.
* tools/dbus-launch.1: Update with new arguments.
* tools/dbus-send.1: Ditto.
* tools/dbus-monitor.1: Ditto.
Havoc Pennington [Sat, 17 May 2003 17:53:17 +0000 (17:53 +0000)]
2003-05-17 Havoc Pennington <hp@pobox.com>
* bus/config-parser.c (merge_included): merge in policies from
child configuration file.
* bus/policy.c (bus_policy_merge): function to merge two policies
together
Havoc Pennington [Fri, 16 May 2003 20:09:25 +0000 (20:09 +0000)]
2003-05-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c: disable verbose lock spew
* tools/dbus-send.c: add --print-reply command line option
* tools/dbus-print-message.h (print_message): new util function
shared by dbus-send and dbus-monitor
* tools/dbus-monitor.c (handler_func): exit on disconnect
* dbus/dbus-transport-unix.c (do_reading): if the transport is
disconnected, don't try to use the read_watch
* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
so we can find this bug more easily
Havoc Pennington [Fri, 16 May 2003 16:48:07 +0000 (16:48 +0000)]
2003-05-16 Havoc Pennington <hp@redhat.com>
* bus/policy.c (free_rule_list_func): avoid a crash when passed
NULL as DBusHashTable is annoyingly likely to do.
Colin Walters [Fri, 16 May 2003 16:01:56 +0000 (16:01 +0000)]
2003-05-16 Colin Walters <walters@verbum.org>
* tools/dbus-monitor.c: Add --session argument and usage()
function.
* tools/dbus-monitor.1: Update with new --session arg.
* bus/Makefile.am (install-data-hook): Create
$(libdir)/dbus-1.0/services so that the session bus is happy.
Havoc Pennington [Thu, 15 May 2003 20:11:34 +0000 (20:11 +0000)]
2003-05-15 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
on non-x86. ifdef's are evil.
Havoc Pennington [Thu, 15 May 2003 19:59:19 +0000 (19:59 +0000)]
2003-05-15 Havoc Pennington <hp@redhat.com>
* configure.in: 0.11
* NEWS: update
* bus/Makefile.am (initddir): apparently we are supposed to put
init scripts in /etc/rc.d/init.d not /etc/init.d
* bus/Makefile.am: remove the "you must --enable-tests to make
check" as it broke distcheck
* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
James Willcox [Wed, 14 May 2003 02:40:41 +0000 (02:40 +0000)]
2003-05-13 James Willcox <jwillcox@gnome.org>
* configure.in:
* bus/activation.c: (bus_activation_service_created),
(bus_activation_activate_service):
* bus/driver.c: (bus_driver_send_service_deleted),
(bus_driver_send_service_created), (bus_driver_send_service_lost),
(bus_driver_send_service_acquired),
(bus_driver_send_welcome_message),
(bus_driver_handle_list_services):
* bus/session.conf.in:
* dbus/dbus-bus.c: (dbus_bus_acquire_service),
(dbus_bus_service_exists), (dbus_bus_activate_service):
* dbus/dbus-bus.h:
Add some convenience API which lets you activate a service, and did a
bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
and dbus_message_get_args()
Havoc Pennington [Mon, 12 May 2003 02:44:45 +0000 (02:44 +0000)]
2003-05-11 Havoc Pennington <hp@pobox.com>
* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
calling _dbus_marshal_validate_arg() for every byte in a byte
array, etc.
* dbus/dbus-message-handler.c: use atomic reference counting to
reduce number of locks slightly; the global lock in here sucks
* dbus/dbus-connection.c
(_dbus_connection_update_dispatch_status_and_unlock): variant of
update_dispatch_status that can be called with lock held; then use
in a couple places to reduce locking/unlocking
(dbus_connection_send): hold the lock over the whole function
instead of acquiring it twice.
* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
* bus/connection.c (bus_connections_setup_connection): fix access
to already-freed memory.
* dbus/dbus-connection.c: keep a little cache of linked list
nodes, to avoid using the global linked list alloc lock in the
normal send-message case. Instead we just use the connection lock
that we already have to take.
* dbus/dbus-list.c (_dbus_list_find_last): new function
* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
change to use a struct for the atomic type; fix docs,
they return value before increment, not after increment.
* dbus/dbus-string.c (_dbus_string_append_4_aligned)
(_dbus_string_append_8_aligned): new functions to try to
microoptimize this operation.
(reallocate_for_length): break this out of set_length(), to
improve profile info, and also so we can consider inlining the
set_length() part.
* dbus/dbus-message.c (dbus_message_new_empty_header): init data
strings with some preallocation, cuts down on our calls to realloc
a fair bit. Though if we can get the "move entire string to empty
string" optimization below to kick in here, it would be better.
* dbus/dbus-string.c (_dbus_string_move): just call
_dbus_string_move_len
(_dbus_string_move_len): add a special case for moving
an entire string into an empty string; we can just
swap the string data instead of doing any reallocs.
(_dbus_string_init_preallocated): new function
Havoc Pennington [Sun, 11 May 2003 07:59:08 +0000 (07:59 +0000)]
2003-05-11 Havoc Pennington <hp@pobox.com>
Write a "test-profile" that does echo client-server with threads;
profile reveals lock contention, memcpy/realloc of buffers, and
UTF-8 validation as hot spots. 20% of lock contention eliminated
with dbus_atomic_inc/dec implementation on x86. Much remaining
contention is global mempool locks for GList and DBusList.
* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
x86 implementation
* dbus/dbus-connection.c (struct DBusConnection): use
dbus_atomic_t for the reference count
* dbus/dbus-message.c (struct DBusMessage): declare
dbus_atomic_t values as volatile
* configure.in: code to detect ability to use atomic integer
operations in assembly, from GLib patch
* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
time, tired of it being wrong in threads and forked processes
* glib/test-profile.c: a little program to bounce messages back
and forth between threads and eat CPU
* dbus/dbus-connection.c: add debug spew macros for debugging
thread locks; include config.h at top; fix deadlock in
dbus_connection_flush()
Havoc Pennington [Fri, 9 May 2003 04:15:56 +0000 (04:15 +0000)]
2003-05-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
data from getting written, and there wasn't a good reason to
use _exit really.
* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
dbus_verbose lines in test coverage
(main): add list of functions sorted by # of untested blocks
to the coverage report
* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
* dbus/dbus-message-handler.c (_dbus_message_handler_test):
extend test coverage
* test/data/auth/cancel.auth-script: test canceling an
authentication
* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
aren't used. in CVS history if we end up needing them.
Havoc Pennington [Mon, 5 May 2003 19:12:58 +0000 (19:12 +0000)]
add note to TODO about serial numbers
Havoc Pennington [Mon, 5 May 2003 03:13:35 +0000 (03:13 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
unit test
* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
function, which assumed length was in # of strings, not bytes
* dbus/dbus-message.c (_dbus_message_test): add tests for some
missing coverage
* dbus/dbus-connection.c
(_dbus_connection_queue_received_message): disable function for
now, we are only using it in test mode
* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
remove a mistaken FIXME
Havoc Pennington [Sun, 4 May 2003 23:55:06 +0000 (23:55 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c (dbus_connection_preallocate_send):
unlock mutex on successful return, patch from Anders Gustafsson
Havoc Pennington [Sun, 4 May 2003 20:33:15 +0000 (20:33 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus-glib-1.pc.in (Requires): fix dependencies, from
Anders Gustafsson
Havoc Pennington [Sun, 4 May 2003 08:54:24 +0000 (08:54 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* tools/dbus-launch.c: implement
* bus/main.c (main), bus/bus.c (bus_context_new):
implement --print-pid and --fork
Havoc Pennington [Sun, 4 May 2003 03:22:46 +0000 (03:22 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
watch is invalid when handled
* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
dbus-launch utility to launch the bus from a shell script. Didn't
actually implement dbus-launch yet, it's just a placeholder still.
Havoc Pennington [Sat, 3 May 2003 23:20:34 +0000 (23:20 +0000)]
2003-05-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
the address had no value, and add to test suite. Fix and
regression test from Miloslav Trmac
Havoc Pennington [Sat, 3 May 2003 23:07:19 +0000 (23:07 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
daemon; also documents daemon config file, so replaces
doc/config-file.txt. Corrected some stuff from config-file.txt in
the process of moving it.
Havoc Pennington [Sat, 3 May 2003 22:03:16 +0000 (22:03 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
add some man pages