1. 05 Mar, 2005 1 commit
    • Havoc Pennington's avatar
      2005-03-05 Havoc Pennington <hp@redhat.com> · ae94f92b
      Havoc Pennington authored
      	* dbus/dbus-sysdeps.c:
      	(pseudorandom_generate_random_bytes_buffer): fix to have no return
      	(_dbus_generate_random_bytes_buffer): fix return value
      	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
      	checks actually work, from Tom Parker <fdo@tevp.net>
  2. 02 Mar, 2005 1 commit
    • Colin Walters's avatar
      2005-03-01 Colin Walters <walters@verbum.org> · 8a66b12a
      Colin Walters authored
      	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
      	functions copied from dbus-glib-tool.c.
      	(main): Convert lots of error code to use them.
      	Also add some testing for introspection bits.
  3. 01 Mar, 2005 1 commit
  4. 27 Feb, 2005 1 commit
    • Colin Walters's avatar
      2005-02-27 Colin Walters <walters@verbum.org> · 2b97fb81
      Colin Walters authored
      	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
      	Change return value to const char * instead of int so we can do
      	full signatures.
      	(struct PropertyInfo, struct ArgInfo): Store char *.
      	(property_info_new, arg_info_new): Update parameters, strdup.
      	(property_info_unref, arg_info_unref): Free.
      	* glib/dbus-gidl.h: Update prototypes.
      	* glib/dbus-gparser.c (basic_type_from_string): Delete.
      	(validate_signature): New function, just validates signature and
      	sets GError.
      	(parse_property, parse_arg): Invoke validate_signature.  Store
      	signature instead of just type code.
      	* glib/dbus-gvalue.c (base_type_from_signature): New utility
      	function to return a primary type for a signature, dropping
      	information about types in container types.
      	(dbus_gvalue_ctype_from_type): Update to take full signature
      	 instead of type code.
      	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
      	* glib/dbus-gvalue.h: Update prototypes for above.
      	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
      	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
      	(introspect_properties, introspect_signals, write_interface):
      	Update to handle signatures, and remove usage of
      	(handle_introspect): Print out type codes instead of e.g. "string"
      	in hardcoded introspection XML; also use x_AS_STRING constants
      	instead of hardcoding in string.
      	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
      	to string.  Remove usage of _dbus_gutils_type_to_string.
      	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
      	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
      	* glib/dbus-binding-tool-glib.c (compute_marshaller)
      	(compute_marshaller_name, generate_glue): Handle signature change
      	to string.
      	(write_formal_parameters, write_args_for_direction): Ditto, and
      	remove FIXME.
      	* tools/dbus-tree-view.c (type_to_string): Delete.
      	(info_set_func_text): Update to print full signatures.
      	* test/glib/test-service-glib.xml: Change types to new
      	introspection format.
  5. 26 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-26 Havoc Pennington <hp@redhat.com> · ee27481d
      Havoc Pennington authored
      	* doc/TODO: remove the "guid" item
      	* test/glib/test-profile.c (no_bus_thread_func): use open_private
      	(with_bus_thread_func): use open_private
      	* dbus/dbus-connection.c (dbus_connection_open_private): new
      	function that works like the old dbus_connection_open()
      	(dbus_connection_open): now returns an existing connection if
      	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
      	through the GUID to the transport
      	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
      	GUID in hex-encoded form.
      	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
      	pass GUID argument in to the transport
      	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
      	guid argument
      	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
      	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
  6. 25 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-25 Havoc Pennington <hp@redhat.com> · 7ce7502e
      Havoc Pennington authored
      	* doc/dbus-specification.xml: document the GUID thing
      	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
      	globally unique ID for the server, and put a "guid=hexencoded"
      	field in the address
      	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
      	* dbus/dbus-message.c: ditto
      	* dbus/dbus-dataslot.c: ditto
      	* dbus/dbus-list.c: ditto
      	* dbus/dbus-internals.h: wait, just include
      	dbus-threads-internal.h here
      	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
      	use in main library
      	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
  7. 24 Feb, 2005 4 commits
    • Colin Walters's avatar
      2005-02-24 Colin Walters <walters@verbum.org> · 1b5dace8
      Colin Walters authored
      	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
    • John Palmieri's avatar
      glib/Makefile.am: added dbus-gobject.h to sources list · 651ca12a
      John Palmieri authored
      so distcheck doesn't fail
    • Havoc Pennington's avatar
      2005-02-24 Havoc Pennington <hp@redhat.com> · cc73b3da
      Havoc Pennington authored
      	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
      	you must disconnect before unref, since locking and other things
      	are screwed up otherwise. Fix assorted other locking stuff.
      	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
      	fix compilation
      	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
      	into a private header and don't export from the library
      	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
    • Colin Walters's avatar
      2005-02-24 Colin Walters <walters@verbum.org> · 54a2e9f7
      Colin Walters authored
      	* dbus/dbus-signature.c: New file; implements various functions
      	related to type signatures.  Includes an interator for parsing,
      	validation functions.
      	(dbus_type_is_basic): Moved here from
      	(dbus_type_is_container): Moved here from
      	All callers of _dbus_type_is_container and _dbus_type_is_basic
      	updated, and include dbus-signature.h.
      	* dbus/dbus-signature.h: New file; prototypes for the above.
      	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
      	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
      	function factored out of _dbus_first_type_in_signature.
      	(_dbus_first_type_in_signature_c_str): New function; returns first
      	type code for a type signature character.
      	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
      	handle function moves.
      	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
      	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
      	function; skips to next complete type in type signature.
      	Implemented using previous skip_one_complete_type.  Now
      	skip_one_complete_type just delegates to
      	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
      	to dbus-signature.c
      	(_dbus_type_is_container): Ditto.
      	* doc/dbus-specification.xml: Update introspection sample to
      	use real type signatures.
      	* dbus/dbus-test.h: Prototype signature test.
      	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
      	signature tests.
      	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
  8. 23 Feb, 2005 1 commit
  9. 21 Feb, 2005 2 commits
    • Colin Walters's avatar
      2005-02-21 Colin Walters <walters@verbum.org> · f9a7bcc2
      Colin Walters authored
      	* dbus/dbus-test-main.c (main): Take optional specific test
      	* dbus/dbus-test.c (run_test): New function, runs a test function
      	with no data directory.
      	(run_data_test): Like above, but takes data directory.
      	(dbus_internal_do_not_use_run_tests): Take
      	specific test argument.  Replace lots of cut n' paste code
      	with run_test and run_data_test.
      	* dbus/dbus-test.h: Update prototype for
    • Havoc Pennington's avatar
      2005-02-20 Havoc Pennington <hp@redhat.com> · 209a5011
      Havoc Pennington authored
              Fix bugs reported by Daniel P. Berrange
      	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
      	(protected_change_watch): new function
      	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
      	(_dbus_server_add_watch): change to work like the
      	dbus-connection.c equivalents; like those, probably kind of
      	busted, but should at least mostly work for now
      	(dbus_server_disconnect): drop the lock if we were already
      	disconnected, patch from Daniel P. Berrange
      	* dbus/dbus-server.c (_dbus_server_toggle_timeout)
      	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
      	same stuff
      	* doc/TODO: todo about unscrewing this mess
  10. 19 Feb, 2005 2 commits
    • Colin Walters's avatar
      2005-02-19 Colin Walters <walters@verbum.org> · 4c3d2abe
      Colin Walters authored
      	* glib/dbus-binding-tool-glib.c
      	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
      	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
      	as errno.h and sys/stat.h.
      	(lose): New function, prints error with
      	newline and exits.
      	(lose_gerror): Similar, but takes GError for message.
      	(main): Add --output argument to specify output file to write to,
      	instead of always printing to stdout.  In this mode, determine
      	timestamps on source files to see whether any are newer than the
      	target file.  If not, exit.  Also convert a number of error
      	messages to use lose (since it's shorter), and switch to using
    • Havoc Pennington's avatar
      2005-02-19 Havoc Pennington <hp@redhat.com> · f9bbe3c0
      Havoc Pennington authored
      	* glib/dbus-gobject.c
      	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
      	* glib/dbus-glib.c: fix doxygen warnings
      	* glib/dbus-gparser.c (parse_annotation): error if an annotation
      	is found on an <arg>
  11. 18 Feb, 2005 1 commit
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · 74ae666f
      Colin Walters authored
      	* glib/dbus-gobject.h: Don't export
      	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
      	(invoke_object_method): Handle it.
      	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
      	Handle rename.
  12. 17 Feb, 2005 5 commits
    • Colin Walters's avatar
      *** empty log message *** · 390bab20
      Colin Walters authored
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · a9a4cc5f
      Colin Walters authored
      	* bus/.cvsignore, doc/.cvsignore
      	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · 24889520
      Colin Walters authored
      	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
      	Rename to DBUS_SERVICE_DBUS.
      	All other users of those constants have been changed.
      	* bus/driver.c (bus_driver_handle_introspect): Use constants.
      	* glib/dbus-gobject.c (handle_introspect): Use constants.
      	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · dc12fac5
      Colin Walters authored
      	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
      	(parse_node, parse_interface, parse_method, parse_signal)
      	(parse_property, parse_annotation): Lose if we're currently in an
      	(parse_annotation): New function.
      	(parser_start_element, parser_end_element): Handle annotation.
      	(parse_method, parse_interface): Remove support for c_name attribute,
      	switch to annotations.
      	* glib/dbus-gidl.h (interface_info_get_binding_names)
      	(interface_info_get_binding_name, method_info_get_binding_name)
      	(interface_info_set_binding_name, method_info_set_binding_name):
      	(interface_info_get_annotations, method_info_get_annotations)
      	(interface_info_get_annotation, method_info_get_annotation)
      	(interface_info_add_annotation, method_info_add_annotation):
      	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
      	for "bindings".
      	(struct MethodInfo): Ditto.
      	Straightfoward conversion of binding methods into annotation methods
      	as prototyped.
      	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
      	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
      	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
      	Use new annotation API.
      	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
      	annotation element.
      	* doc/dbus-specification.xml: Discuss introspection annotations,
      	include list of well-known annotations.
      	* test/glib/test-service-glib.xml: Make validate against new DTD.
    • Colin Walters's avatar
      2005-02-17 Colin Walters <walters@verbum.org> · 03f6615e
      Colin Walters authored
      	This patch is based on initial work from
      	Paul Kuliniewicz <kuliniew@purdue.edu>.
      	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
      	initialization of GValue from dbus type to here.
      	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
      	for the "glib-genmarshal" program from a DBus type.
      	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
      	into the C name for it we use in the glib bindings.
      	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
      	glib C type (not GValue).
      	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
      	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
      	from dbus-gobject.c.
      	* glib/dbus-gutils.h: Prototype it.
      	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
      	(marshal_dbus_message_to_g_marshaller): Use new shared function
      	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
      	Will be changed once we have annotations.
      	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
      	GStaticRWLock.  Callers updated.
      	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
      	(string_table_next): New function for iterating over zero-terminated
      	string value array.
      	(string_table_lookup): New function; retrieves specific entry in
      	(get_method_data): New function; look up method data in object data chunk.
      	(object_error_code_from_object_info): New functions, but not implemented yet.
      	(method_interface_from_object_info): New function; retrieve interface name.
      	(method_name_from_object_info): New function; retrieve method name.
      	(method_arg_info_from_object_info): New function; retrieve argument data.
      	(arg_iterate): New function; iterates over serialized argument data.
      	(method_dir_signature_from_object_info): New function; returns a
      	GString holding type signature for arguments for just one
      	direction (input or output).
      	(method_output_signature_from_object_info): New functions.
      	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
      	converts dbus message arguments into a GValue array.  Used for both
      	signal handling and method invocation.
      	(struct DBusGlibWriteIterfaceData): New utility structure.
      	(write_interface): New function; generate introspection XML for
      	an interface.
      	(introspect_interfaces): New function; gathers all interface->methods,
      	generates introspection XML for them.
      	(handle_introspect): Invoke introspect_interfaces.
      	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
      	(lookup_object_and_method): New function; examines an incoming message
      	and attempts to match it up (via interface, method name, and argument
      	signature) with a known object and method.
      	(gerror_domaincode_to_dbus_error_name): New function; converts a
      	GError domain and code into a DBus error name.  Needs GError data
      	added to object introspection to work well.
      	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
      	(invoke_object_method): New function to invoke an object method
      	looked up via lookup_object_and_method.  Parses the incoming
      	message, turns it into a GValue array, then invokes the marshaller
      	specified in the DBusGMethodInfo.  Creates a new message with
      	either return values or error message as appropriate.
      	(gobject_message_function): Invoke lookup_object_and_method and
      	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
      	(enum DBusBindingOutputMode): New enum for binding output modes.
      	(pretty_print): Print binding names.
      	(dbus_binding_tool_error_quark): GError bits.
      	(version): Fix typo.
      	(main): Create GIOChannel for output.  Parse new --mode argument,
      	possible values are "pretty-print", "glib-server", "glib-client".
      	Use mode to invoke appropriate function.
      	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
      	* glib/dbus-glib-tool.h: New header, just includes GError bits
      	for now.
      	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
      	maps binding style to name.
      	(struct MethodInfo): Ditto.
      	(get_hash_keys, get_hash_key): Utility function, returns keys for
      	a GHashTable.
      	(interface_info_new, method_info_new): Initialize bindings.
      	(interface_info_unref, method_info_unref): Destroy bindings.
      	(method_info_get_binding_names, method_info_get_binding_name)
      	(interface_info_get_binding_names, interface_info_get_binding_name):
      	Functions for retrieving binding names.
      	(method_info_set_binding_name, interface_info_set_binding_name):
      	Functions for setting binding names.
      	* glib/dbus-binding-tool-glib.h: New file, has prototypes
      	for glib binding generation.
      	* glib/dbus-binding-tool-glib.c: New file, implements server-side
      	and client-side glib glue generation.
      	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
      	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
      	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
      	of using GClosureMarshal directly.
      	(struct DBusGObjectInfo): Add n_infos member.
      	* test/glib/test-service-glib.xml: New file; contains introspection data
      	for MyTestObject used in test-service-glib.c.
      	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
      	(my_object_do_nothing, my_object_increment, my_object_throw_error)
      	(my_object_uppercase, my_object_many_args): New test methods.
      	(main): Use dbus_g_object_class_install_info to include generated object
      	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
      	as well as client-side bindings.
      	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
      	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
      	using both the dbus_gproxy stuff directly as well as the generated bindings.
  13. 16 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-15 Havoc Pennington <hp@redhat.com> · 9e445087
      Havoc Pennington authored
      	* dbus/dbus-connection.c (dbus_connection_dispatch): always
      	complete a pending call, don't run filters first.
      	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
      	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
      	(dbus_pending_call_get_reply): change to steal_reply and return a
      	* dbus/dbus-connection.c
      	(dbus_connection_send_with_reply_and_block): port to work in terms
      	of DBusPendingCall
      	(_dbus_connection_block_pending_call): replace block_for_reply
      	with this
  14. 14 Feb, 2005 1 commit
  15. 13 Feb, 2005 4 commits
    • Havoc Pennington's avatar
      2005-02-13 Havoc Pennington <hp@redhat.com> · 7f2973c8
      Havoc Pennington authored
      	* dbus/dbus-connection.c (dbus_connection_return_message)
      	(dbus_connection_borrow_message): hold dispatch lock while message
      	is outstanding
      	(_dbus_connection_block_for_reply): hold dispatch lock while we
      	block for the reply, so nobody steals our reply
      	(dbus_connection_pop_message): hold the dispatch lock while we
      	pluck the message
    • Havoc Pennington's avatar
      2005-02-13 Havoc Pennington <hp@redhat.com> · 770dfe05
      Havoc Pennington authored
      	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
      	(_dbus_connection_release_io_path): make the mutex and condvar
      	control access to the "acquired" flag. Drop the connection lock
      	while waiting on the condvar. Hopefully these are baby steps in
      	roughly the right direction.
    • Havoc Pennington's avatar
      2005-02-13 Havoc Pennington <hp@redhat.com> · 46ee6086
      Havoc Pennington authored
      	* dbus/dbus-connection.c: use separate mutexes for the condition
      	variables; this is some kind of baseline for sanity, but the
      	condition variables still aren't used correctly afaict
    • Havoc Pennington's avatar
      2005-02-13 Havoc Pennington <hp@redhat.com> · f349e6b8
      Havoc Pennington authored
      	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
      	fix a double-unlock
      	* dbus/dbus-connection.c
      	(_dbus_connection_detach_pending_call_unlocked): add this
              Initial semi-correct pass through to fix thread locking; there are
      	still some issues with the condition variable paths I'm pretty
      	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
      	lock/unlock calls
      	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
      	rename to add _unlocked
      	(struct DBusConnection): move "dispatch_acquired" and
      	"io_path_acquired" to use only one bit each.
      	(dbus_connection_set_watch_functions): hacky fix to reentrancy
      	(_dbus_connection_add_watch, _dbus_connection_remove_watch)
      	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout)
      	(_dbus_connection_toggle_timeout): drop lock when calling out to
      	user functions; done in a hacky/bad way.
      	(_dbus_connection_send_and_unlock): add a missing unlock
      	(_dbus_connection_block_for_reply): add a missing unlock
      	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
      	drop lock in a hacky probably unsafe way to call out to user
  16. 12 Feb, 2005 4 commits
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 970be5fd
      Havoc Pennington authored
      	* tools/dbus-tree-view.c (info_set_func_text): display more
      	details on args
      	* bus/driver.c (bus_driver_handle_list_services): list the bus
      	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
      	* glib/dbus-gidl.c (signal_info_get_n_args): new function
      	(method_info_get_n_args): new function
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 85fb9ff9
      Havoc Pennington authored
      	* bus/driver.c (bus_driver_handle_introspect): add introspection
      	for bus driver
    • Havoc Pennington's avatar
      2005-02-12 Havoc Pennington <hp@redhat.com> · 5b26893c
      Havoc Pennington authored
      	* bus/driver.c: put the signature of each bus driver method in the
      	table of handlers and check it on incoming calls; this isn't
      	really useful, but going to add introspect support in a minute.
    • Joe Shaw's avatar
      2005-02-11 Joe Shaw <joeshaw@novell.com> · 0242b821
      Joe Shaw authored
      	* mono/Connection.cs: The unpredictability of finalizers in mono
      	prevents us from deterministically disconnecting the filters from
      	the Service class's finalizer, so move tracking of filters and
      	matches here.  Add API for that.
      	* mono/Service.cs: Remove the code, add code which calls the
      	methods now on the Connection class.
  17. 11 Feb, 2005 3 commits
    • John Palmieri's avatar
      * python/dbus.py (class Sender): added to support dbus signals better · 38dad64a
      John Palmieri authored
      (Bus::add_signal_receiver): added expand_args parameter which defaults
      to True.  When expand args is True the signal handler will pass the
      message arguments as parameters to the signal handler.  If False
      revert to previous behavior where the signal handler must get the
      argument list from the message.  This is to help port applications
      like HAL that have a tendancy to send variable length argument lists.
      self._match_rule_to_receivers is now a dict of dicts.
      (Bus::remove_signal_receiver): pop handler off the dict intead of
      removing it from a list
      (Bus::_signal_func): change signal handlers so that interface,
      signal_name, service, path and message are packed into a Sender
      object and that is passed to the handler.  If expand_args is True
      extract the args list from the message and append it to the parameter
      * python/dbus_bindings.pyx.in (class Signature): added to support
      signiature types
      (MessageIter::__init__): changed iteration limit to match D-BUS
      (MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY,
      STRUCT and VARIENT type support
      (MessageIter::python_value_to_dbus_sig): made recursive to support
      recursive types
      (MessageIter::append*): added Signature, dict, tuple
      * python/examples/example-client.py: added examples of getting tuples
      and dicts
      * python/examples/example-service.py: added examples of sending tuples
      and dicts
      * python/examples/example-signal-recipient.py: Fixed to handle new
      signal callback format
    • Havoc Pennington's avatar
      2005-02-10 Havoc Pennington <hp@redhat.com> · aa4f8237
      Havoc Pennington authored
      	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
      	(call dbus_g_proxy_add_signal)
      	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
      	escape the hostname
      	(_dbus_server_new_for_domain_socket): escape the path
      	* dbus/dbus-address.c (dbus_address_escape_value): new
      	(dbus_address_unescape_value): new
      	(dbus_parse_address): unescape values
      	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
      	* doc/dbus-specification.xml: explain how to escape values in
    • Havoc Pennington's avatar
      2005-02-10 Havoc Pennington <hp@redhat.com> · 71f3b461
      Havoc Pennington authored
      	* dbus/dbus-message-factory.c (generate_special): modify test to
      	avoid using a non-basic dict key
      	* dbus/dbus-marshal-validate-util.c: add test for the below
      	* doc/dbus-specification.xml: require that dict keys are a basic
      	* dbus/dbus-marshal-validate.c
      	(_dbus_validate_signature_with_reason): require that dict key is a
      	basic type
  18. 10 Feb, 2005 4 commits
    • Havoc Pennington's avatar
      2005-02-10 Havoc Pennington <hp@redhat.com> · df0c6408
      Havoc Pennington authored
      	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
      	change to be _and_unlock instead of _unlocked
      	* dbus/dbus-connection.c
      	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
      	have no_update so we can find this bug quickly in future
    • Havoc Pennington's avatar
      2005-02-10 Havoc Pennington <hp@redhat.com> · 83dd8129
      Havoc Pennington authored
      	* dbus/dbus-message-util.c (verify_test_message): tests for string
      	* dbus/dbus-message.c (dbus_message_append_args_valist): add
      	support for arrays of string/signature/path
    • Joe Shaw's avatar
      2005-02-10 Joe Shaw <joeshaw@novell.com> · fd146b37
      Joe Shaw authored
      	* dbus/dbus-connection.c
      	_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_and_unlock): Added.  Calls
      	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
      	(dbus_connection_send_with_reply): Update the dispatch status and
      	* mono/Service.cs (~Service): Added.  Removes the filter so that
      	we don't get unmanaged code calling back into a GCed delegate.
      	(RemoveFilter); Added.
    • John Palmieri's avatar
      * dbus/dbus-message.c (dbus_message_iter_open_container): · 8fda602e
      John Palmieri authored
         	- Removed check for iterator type being an array because
      	get_arg_type does not work with writer iterators
      	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
  19. 07 Feb, 2005 2 commits