2003-09-22 Havoc Pennington <hp@redhat.com>
[platform/upstream/dbus.git] / ChangeLog
index 4a8f4ac..a094e98 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,402 @@
+2003-09-22  Havoc Pennington  <hp@redhat.com>
+
+       * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
+
+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.
+
+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.
+
+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
+
+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)
+
+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.
+
+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
+
+2003-09-07  Havoc Pennington  <hp@pobox.com>
+
+       * Make Doxygen contented.
+
+2003-09-07  Havoc Pennington  <hp@pobox.com>
+
+       * doc/dbus-specification.sgml: more updates
+
+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"
+
+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
+
+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.
+
+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
+
+2003-09-01  Havoc Pennington  <hp@pobox.com>
+
+       * glib/Makefile.am: rearrange a bunch of files and get "make
+       check" framework set up
+
+2003-08-31  Havoc Pennington  <hp@pobox.com>
+
+       * fix build with --disable-tests
+
+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
+
+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
+
+2003-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
+
+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
+
+2003-08-29  Havoc Pennington  <hp@pobox.com>
+
+       * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
+
+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
+
+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
+
+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
+
+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"
+
+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
+       
+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
+
 2003-08-15  Havoc Pennington  <hp@redhat.com>
 
        * dbus/dbus-pending-call.c (dbus_pending_call_block): implement