1. 17 Jul, 2005 2 commits
    • John Palmieri's avatar
      * quick formatting fix · 0f4d5eda
      John Palmieri authored
    • John Palmieri's avatar
      * NEWS: Updated to 0.35.2 · b9187049
      John Palmieri authored
      * python/_dbus.py: Remove import of the dbus.services
        module as it no longer exists (patch from Dimitur Kirov)
      * python/service.py (Object::__init__): Fixed typo
        s/name/bus_name (patch from Dimitur Kirov)
      * python/examples/example-signal-emitter.py: import dbus.glib
        to get the main loop and use glib mainloop instead of gtk so
        X doesn't have to be running.
      * python/examples/example-signal-recipient.py: import dbus.glib
        to get the main loop and use glib mainloop instead of gtk so
        X doesn't have to be running. Import the decorators module
      * test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
        didn't pick up on but are needed to build
      * configure.in: upped version to 0.35.2
      * bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
        added Colin Walters' SELinux API rename patch from head
        s/unix sercurity context/selinux security context/
  2. 16 Jul, 2005 1 commit
  3. 15 Jul, 2005 12 commits
  4. 14 Jul, 2005 2 commits
    • Colin Walters's avatar
      2005-07-14 Colin Walters <walters@verbum.org> · 6c191520
      Colin Walters authored
      	* bus/driver.c
      	(bus_driver_handle_get_connection_unix_security_context): New function.
      	(message_handlers): Add.
      	* bus/selinux.c (bus_selinux_append_context): New function; appends
      	security context to message.
      	* bus/selinux.h: Prototype.
      	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
    • John Palmieri's avatar
      Checking in Rodrigo's patch along with my fixes to the patch · 075945f6
      John Palmieri authored
      2005-07-14  John (J5) Palmieri  <johnp@redhat.com>
      	* bus/activation.c: clean up all tabs to be 8 spaces
      	(bus_activation_activate_service): make sure we clean up
      	if activation fails
      	* bus/dispatch.c: clean up all tabs to be 8 spaces
      	(check_shell_fail_service_auto_start): New function
      	tests to make sure we get fail properly when trying to auto start a service
      	with a faulty command line
      	(check_shell_service_success_auto_start): New function tests to make sure
      	auto started services get the arguments on the command line
      	* test/test-shell-service.c: Added service for testing auto-starting with
      	command line arguments
      	* test/data/valid-service-files/debug-shell-echo-fail.service.in,
      	Added service files for testing auto-starting with command line arguments
      	* */.cvsignore: added a bunch of generated files to various .cvsignore files
      2005-07-14  Rodrigo Moya  <rodrigo@novell.com>
      	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
      	* dbus/Makefile.am: added new files to build.
      	* bus/activation.c (bus_activation_activate_service): support
      	activation commands with parameters.
      	* test/shell-test.c: added test program for the shell parsing
  5. 13 Jul, 2005 2 commits
  6. 12 Jul, 2005 3 commits
    • Colin Walters's avatar
      2005-07-12 Colin Walters <walters@verbum.org> · 9f92ac0e
      Colin Walters authored
      	Patch from Jim Gettys <Jim.Gettys@hp.com>.
      	* tools/dbus-launch.c: Include sys/select.h.
    • John Palmieri's avatar
      * python/dbus_bindings.pyx.in: removed · d06bfe52
      John Palmieri authored
      * python/dbus_bindings.pyx: Added.
      	- Fixed some memleaks (patch from
      	  Sean Meiners <sean.meiners@linspireinc.com>)
      	- Broke out the #include "dbus_h_wrapper.h" and put it in its
      	  own pxd file (Pyrex definition)
      	- Broke out glib dependancies into its own pyx module
      * python/dbus_bindings.pdx: Added.
      	- Defines C class Connection for exporting to other modules
      * python/dbus_glib_bindings.pyx: Added.
      	- New module to handle lowlevel dbus-glib mainloop integration
      * python/glib.py: Added.
      	- Registers the glib mainloop when you import this module
      * python/services.py: Removed (renamed to service.py)
      * python/service.py: Added.
      	- (class Server): renamed Name
      * python/__init__.py: Bump ro version (0,41,0)
      	- don't import the decorators or service module
         	  by default.  These now reside in the dbus.service namespace
      * python/_dbus.py (Bus::__init__): Add code run the main loop
        setup function on creation
      * python/examples/example-service.py,
        python/examples/example-signal-emitter.py: update examples
      * python/examples/gconf-proxy-service.py,
        python/examples/gconf-proxy-service2.py: TODO fix these up
      * doc/TODO: Addition
      	- Added a Python Bindings 1.0 section
      	- added "Add match on args or match on details to match rules"
    • Colin Walters's avatar
      2005-07-12 Colin Walters <walters@verbum.org> · 922d6bb1
      Colin Walters authored
      	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h)
      	* glib/examples/Makefile.am (example-service-glue.h)
      	* glib/Makefile.am (dbus-glib-error-switch.h):
      	Add libtool --mode=execute so we use the built library instead
      	of any installed one.
  7. 11 Jul, 2005 1 commit
    • Colin Walters's avatar
      2005-07-11 Colin Walters <walters@verbum.org> · 622cc8af
      Colin Walters authored
      	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
      	(dbus_g_value_types_init): Remove assertion.
      	(dbus_g_value_get_g_type, dbus_g_value_open)
      	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
      	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
      	functions related to DBusGValue.  Now we marshal/demarshal
      	structures as GValueArray.
      	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
      	(signature_iter_to_g_type_array): Don't call
      	(signature_iter_to_g_type_struct): Delete.
      	(dbus_gvalue_to_signature): Delete.
      	(dbus_gvalue_to_signature): New function with same name as other
      	one; we can convert structures to signatures.
      	(demarshal_valuearray): New function.
      	(get_type_demarshaller): Use it.
      	(demarshal_recurse): Delete.
      	(marshal_proxy): New function.
      	(marshal_map): Warn if we can't determine signature from type.
      	(marshal_collection_ptrarray): Ditto.
      	(marshal_collection_array): Ditto.
      	(get_type_marshaller): Use marshal_valuearray.
      	(marshal_recurse): Delete.
      	(_dbus_gvalue_test): Add some tests.
      	* dbus/dbus-glib.h (struct _DBusGValueIterator):
      	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
      	(dbus_g_value_open, dbus_g_value_iterator_get_value)
      	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
      	(dbus_g_value_free): Remove prototypes.
      	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
      	* glib/examples/example-service.c:
      	* glib/examples/example-client.c: Implement GetTuple.
      	* test/glib/test-dbus-glib.c:
      	* test/glib/test-service-glib.c:
      	* test/glib/test-service-glib.xml: Add structure tests.
  8. 10 Jul, 2005 1 commit
    • Colin Walters's avatar
      2005-07-10 Colin Walters <walters@verbum.org> · 8c095eea
      Colin Walters authored
      	* doc/TODO: Knock off some GLib items with this patch.
      	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error)
      	(_dbus_gvalue_signals_error): New functions.
      	* glib/dbus-gvalue-utils.h: Prototype them.
      	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
      	and change to not output const/retval flags for input args.  All
      	callers updated.
      	(invoke_object_method): Refactor to handle return values.  Add
      	some more comments in various places.  Remove debug g_print.
      	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
      	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
      	Handle G_TYPE_NONE.
      	(compute_gsignature): New function; refactored from code from
      	compute_marshaller and compute_marshaller_name.  Enhance to
      	handle return values and async ops more cleanly.  Update for
      	async ops returning NONE instead of BOOLEAN.
      	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
      	and output appropriate string.
      	(generate_glue): Handle return value annotation.  Also don't dump
      	constness flag for input arguments.
      	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
      	files shared between installed library and utilities.
      	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
      	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
      	binding tool can access gtype utility functions.
      	* test/glib/test-service-glib.c:
      	* test/glib/test-service-glib.xml:
      	* test/glib/test-dbus-glib.c: Add some tests for return values.
  9. 09 Jul, 2005 3 commits
    • Colin Walters's avatar
      2005-07-09 Colin Walters <walters@verbum.org> · 745b19d6
      Colin Walters authored
      	* glib/dbus-gparser.c (parse_annotation): Add annotations to
      	argument if available, not method.
      	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
      	(invoke_object_method): First, remove some redundant
      	GValues (object_value, error_value) in favor of working on
      	array directly.  Second, rework constness to be less buggy.
      	Now we iterate directly over the argument metadata instead
      	of parallel iterating over output signature and metadata.
      	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
      	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
      	annotation on input args.
    • Colin Walters's avatar
      2005-07-09 Colin Walters <walters@verbum.org> · b1ae5399
      Colin Walters authored
      	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
      	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
      	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
      	(method_dir_signature_from_object_info): Handle arg_iterate change.
      	(write_interface): Ditto.
      	(lookup_object_info): Don't barf if format_version is > 0.
      	(invoke_object_method): Handle arg constness.
      	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
      	(arg_info_new): Create.
      	(arg_info_unref): Destroy.
      	(arg_info_get_annotations, arg_info_get_annotation)
      	(arg_info_add_annotation): New functions.
      	* glib/dbus-gidl.h: Prototype them.
      	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
      	args, disallow them in properties.
      	(parse_annotation): Handle arg annotations.
      	* test/glib/test-service-glib.xml:
      	* test/glib/test-service-glib.c: Update to make some methods
    • Colin Walters's avatar
      2005-07-08 Colin Walters <walters@verbum.org> · 0ccef79d
      Colin Walters authored
      	* test/glib/test-service-glib.xml:
      	* test/glib/test-service-glib.c:
      	* test/glib/test-dbus-glib.c: Test a{sv}.
      	* glib/examples/statemachine/statemachine.c:
      	* glib/examples/statemachine/statemachine-server.c:
      	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
      	add progress bar, etc.
      	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
      	needed anymore due to generic array/map marshalling.
      	(dbus_g_value_types_init): Don't register basic arrays or the
      	string/string hash.
      	(dbus_gtype_from_signature_iter): Don't try to recurse into
      	(dbus_gtype_to_signature): Check collection/map before type
      	(demarshal_garray_basic): Renamed to demarshal_collection_array.
      	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
      	generic map creation/append functions instead of hash table
      	(get_type_demarshaller): Handle maps.
      	(demarshal_collection): Dispatch on collection type to either
      	demarshal_collection_ptrarray or demarshal_collection_array.
      	(get_type_marshaller): Handle maps.
      	(marshal_collection): Dispatch collection type to either
      	marshal_collection_ptrarray or marshal_collection_array.
      	(_dbus_gvalue_test): New test.
      	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
      	(hash_free_from_gtype): Use it to free GValues.
      	(hashtable_append): New function.
      	(ptrarray_append): Fix prototype.
      	(slist_append): Ditto.
      	(_dbus_gvalue_utils_test): Extend tests.
      	* glib/dbus-gtype-specialized.c
      	(dbus_g_type_specialized_init_append): Renamed from
      	dbus_g_type_specialized_collection_init_append.  Remove const from
      	value, since we steal it.
      	(dbus_g_type_specialized_map_append): New function.
      	* glib/dbus-gtype-specialized.h: Update prototypes.
      	Add DBusGTypeSpecializedMapAppendFunc.
      	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
      	* glib/dbus-gtest.h: Prototype it.
  10. 08 Jul, 2005 4 commits
    • Ross Burton's avatar
      Make async bindings work again · d8e7405e
      Ross Burton authored
    • Colin Walters's avatar
      2005-07-08 Colin Walters <walters@verbum.org> · 82d6ea6c
      Colin Walters authored
      	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
      	connection concept.
    • Colin Walters's avatar
      2005-07-08 Colin Walters <walters@verbum.org> · e888647a
      Colin Walters authored
      	* tools/Makefile.am: Kill of print-introspect in favor of using
      	dbus-send --print-reply=literal.
      	* tools/print-introspect.c: Deleted.
      	* test/glib/test-service-glib.xml:
      	* test/glib/test-service-glib.c (my_object_get_objs): New test
      	for "ao".
      	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
      	(main): Test GetObjs.
      	* glib/examples/statemachine/Makefile.am:
      	* glib/examples/statemachine/sm-marshal.list:
      	* glib/examples/statemachine/statemachine-client.c:
      	* glib/examples/statemachine/statemachine-server.c:
      	* glib/examples/statemachine/statemachine-server.xml:
      	* glib/examples/statemachine/statemachine.c:
      	* glib/examples/statemachine/statemachine.h:
      	* glib/examples/statemachine/statemachine.xml:
      	New example.
      	* glib/examples/example-service.c (main): Move invocation
      	of dbus_g_object_type_install_info earlier, to emphasize it
      	should only be done once.
      	* glib/examples/example-signal-emitter.c (main): Ditto.
      	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
      	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
      	(dbus_gvalue_marshal): Update prototypes.
      	* glib/dbus-gvalue.c: Update all marshalling functions to take
      	const GValue instead of GValue.
      	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
      	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
      	(dbus_gtype_to_signature): Handle generic collecitons and maps.
      	Return a newly-allocated string.
      	(demarshal_proxy, demarshal_object_path, demarshal_object)
      	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
      	we get the wrong types from message.
      	(get_type_demarshaller): New function, extracted from
      	(demarshal_collection): New function, demarshals generic
      	(dbus_gvalue_demarshal): Just invoke result of
      	get_type_demarshaller.  Throw error if we don't have one.
      	(marshal_garray_basic): Abort on OOM.
      	(get_type_marshaller): New function, extracted from
      	(collection_marshal_iterator, marshal_collection): New functions;
      	implements generic marshalling for an iteratable specialized
      	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
      	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
      	(ptrarray_value_from_gvalue): Ditto.
      	(ptrarray_append, ptrarray_free): New functions.
      	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy)
      	(slist_append, slist_end_append, slist_free): New functions.
      	(dbus_g_type_specialized_builtins_init): Add append fuctions
      	for GPtrArray and GSList.  Register GSList.
      	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
      	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
      	(dbus_g_type_specialized_collection_end_append): Prototype.
      	(DBusGTypeSpecializedCollectionVtable): Add append_func and
      	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append)
      	(dbus_g_type_specialized_collection_end_append): New functions.
      	(dbus_g_type_map_value_iterate): Take const GValue.
      	(dbus_g_type_collection_value_iterate): Ditto.
      	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
      	* glib/dbus-gtest.h: Prototype it.
      	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
      	using uninitialized owner_list.
      	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
      	public API.
      	(dbus_g_proxy_end_call_internal): Update to use error set
      	from dbus_gvalue_demarshal instead of setting it here.
      	(dbus_g_proxy_begin_call): Move return_if_fail here.
      	* glib/dbus-gobject.c (write_interface): Update for
      	dbus_gtype_to_signature returning new string.
      	* configure.in: Add glib/examples/statemachine.
    • Joe Shaw's avatar
      2005-07-08 Joe Shaw <joeshaw@novell.com> · b1e21dad
      Joe Shaw authored
      	* configure.in: Add a configure option, --with-console-auth-dir
      	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
      	new setting.  Patch from Kay Sievers.
  11. 06 Jul, 2005 1 commit
    • Colin Walters's avatar
      2005-07-06 Colin Walters <walters@verbum.org> · 2ca6e957
      Colin Walters authored
      	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
      	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
      	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
      	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
      	Delete in favor of dbus_g_proxy_begin_call and
      	(DBusGProxyCall, DBusGProxyCallNotify): New.
      	(dbus_g_proxy_begin_call): Change prototype to take callback, user
      	data, and destroy function.  This replaces
      	(dbus_g_proxy_cancel_call): Prototype.
      	(DBusGAsyncData): Delete, shouldn't be needed anymore.
      	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
      	pending_calls map.
      	(struct _DBusGProxyManager): Add bus_proxy member, which is an
      	internal proxy for calls to the bus. Remove
      	pending_nameowner_calls, now the internal proxy keeps track.
      	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
      	(got_name_owner_cb): Update prototype, and use
      	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
      	(dbus_g_proxy_manager_register): Delete directly libdbus code in
      	favor of using internal proxy.
      	(dbus_g_proxy_manager_unregister): Update to use
      	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
      	(dbus_g_proxy_init): Initialize pending calls map.
      	(dbus_g_proxy_constructor): New.
      	(dbus_g_proxy_class_init): Add get/set property functions,
      	constructor, and add NAME, PATH, and INTERFACE properties.
      	(cancel_pending_call): New function.
      	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
      	cancel them.
      	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
      	(GPendingNotifyClosure): New structure.
      	(d_pending_call_notify, d_pending_call_free): Moved here from
      	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
      	(manager_begin_bus_call): New internal function for talking to
      	internal bus proxy.
      	(dbus_g_proxy_new): Construct object using GObjet properties.
      	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
      	Create closure of same, and insert call into map of pending calls.
      	(dbus_g_proxy_end_call_internal): Take call id instead of pending
      	call.  Look up pending call in current set.  Remove it when we've
      	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
      	(dbus_g_proxy_begin_call): Change API to take callback, user data,
      	and destroy function directly.
      	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
      	(dbus_g_proxy_call): Invoke with NULL callback.
      	(dbus_g_proxy_cancel_call): New function, replaces
      	* glib/dbus-gparser.c (validate_signature): Fix call to
      	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
      	New quark for attaching metadata to GType.
      	(info_hash): Delete.
      	(lookup_object_info): Look up using quark.
      	(dbus_g_object_type_install_info): Check that a type is classed,
      	not that it's an object.  Also just install type data using quark
      	instead of using global hash.
      	* glib/dbus-glib.c (dbus_g_pending_call_ref)
      	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
      	(GPendingNotifyClosure): Delete.
      	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
      	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
      	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
      	client method generation until we can fix it...
      	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
      	(load_from_service_thread_func): Ditto.
      	* tools/dbus-names-model.c (struct NamesModel): Hold
      	(have_names_notify): Update prototype, use
      	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
      	* tools/dbus-monitor.c (filter_func): Update for print_message
      	API change.
      	* test/glib/test-dbus-glib.c: Add more tests for async
      	invocations.  Update many begin_call/end_call pairs to just use
      	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
      	allows us to dump print-introspect.c.
      	* tools/dbus-print-message.h (print_message): Add literal argument
      	to print_message which is intended to allow printing arguments without
      	metadata like "string=".
      	* tools/dbus-print-message.c (print_iter): Add literal argument.
      	(print_message): Allow printing string messages literally.
  12. 05 Jul, 2005 1 commit
    • Colin Walters's avatar
      2005-07-05 Colin Walters <walters@verbum.org> · 42c4a46d
      Colin Walters authored
      	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
      	Remove value refcount leak, original patch from Jorn Baayen
      	<jorn@openedhand.com>.  Also remove useless extra value in favor
      	of prepending to value array directly.
  13. 02 Jul, 2005 1 commit
  14. 01 Jul, 2005 1 commit
    • Colin Walters's avatar
      2005-07-01 Colin Walters <walters@verbum.org> · 249c5ea9
      Colin Walters authored
      	Patch from Jonathan Matthew <jonathan@kaolin.hn.org>
      	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
      	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
  15. 30 Jun, 2005 1 commit
    • Colin Walters's avatar
      2005-06-30 Colin Walters <walters@verbum.org> · 03d04031
      Colin Walters authored
      	* test/glib/test-dbus-glib.c:
      	* test/glib/test-service-glib.c:
      	* test/glib/test-service-glib.xml: Update tests for new error
      	setting bits, also add async tests (patch from Ross Burton).
      	* test/glib/Makefile.am (test_service_glib_LDADD): Add
      	* glib/dbus-gproxy.c (get_name_owner)
      	(dbus_g_pending_call_end_valist): Ditto.
      	* glib/dbus-gobject.c (error_metadata): New mapping from GError
      	domain (GQuark) to DBusGErrorInfo.
      	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
      	quark in error_metadata.  Take message interface as default
      	error message interface.
      	(gerror_to_dbus_error_message): Pass message interface.
      	(dbus_set_g_error): Resurrected.
      	(dbus_g_error_info_free): New function.
      	(dbus_g_object_type_install_info): Use g_type_class_ref instead
      	of _peek to actually create the object class if it hasn't been
      	created yet.
      	(dbus_g_error_domain_register): New function.
      	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
      	* glib/dbus-gparser.c (validate_signature): Ditto.
      	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
      	(dbus_g_error_domain_register): Prototype.
      	* glib/dbus-glib.c (dbus_g_error_set): Delete.
      	Update tests.
  16. 29 Jun, 2005 4 commits
    • Colin Walters's avatar
      2005-06-29 Colin Walters <walters@verbum.org> · b3c42d22
      Colin Walters authored
      	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
      	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
      	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
      	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
      	(dbus_g_object_path_get_g_type): New function.
      	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
      	to DBUS_TYPE_G_OBJECT_PATH by default.
      	(demarshal_proxy): Remove unused name variable.
      	(demarshal_object_path, marshal_object_path): New functions.
      	(demarshal_proxy_array, marshal_proxy_array): Delete.
      	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
      	DBUS_TYPE_G_OBJECT_PATH to char *.
      	(dbus_g_type_get_lookup_function): Map builtin
      	* test/glib/test-dbus-glib.c
      	* test/glib/test-service-glib.c (my_object_objpath):
      	Adapt tests to new object path marshalling.
    • John Palmieri's avatar
    • Colin Walters's avatar
      2005-06-29 Colin Walters <walters@verbum.org> · a15a5811
      Colin Walters authored
      	Patch from Ross Burton <ross@openedhand.com>
      	* glib/dbus-gobject.c (invoke_object_method): Unset object
      	value in all cases, not only in async case.
    • Colin Walters's avatar
      2005-06-29 Colin Walters <walters@verbum.org> · ab1ae1f4
      Colin Walters authored
      	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
      	name_call for keeping track of any outgoing GetNameOwner call.
      	Also add for_owner and associated.
      	(struct _DBusGProxyManager): Add owner_names, which is hash table
      	that maps a base name to a list of names it owns (that we're
      	interested in).  Add pending_nameowner_calls which is a list of
      	all outstanding GetNameOwner; avoids us having to iterate over
      	every proxy.  Add unassociated_proxies which keeps track of name
      	proxies with no associated name owner.
      	(dbus_g_proxy_manager_unref): Destroy owner_names.
      	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
      	name refcounts.
      	(find_name_in_info, name_owner_foreach)
      	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
      	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
      	New functions; they manipulate the owner_names mapping.
      	(got_name_owner_cb): New function.
      	(get_name_owner): New function, extracted from
      	(dbus_g_proxy_manager_register): For now we need to keep track of
      	all NameOwnerChanged.  Also if the proxy is for a name, if we
      	don't already know the name owner, queue a new GetNameOwner
      	request and add it to our list of unassociated proxies.  Otherwise
      	inc the refcount.
      	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
      	cancel any pending GetNameOwner call, etc.
      	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
      	the owner_names mapping to look up the current names for the
      	signal source, and dispatch to any proxies for that name.
      	(dbus_g_proxy_new): Initialize new members.
      	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
      	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
      	(dbus_g_pending_call_end_valist): New function, extracted from
      	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
      	but want to use the GLib infrastructure.  Also note how many
      	arguments in reply were over.
      	(dbus_g_pending_call_end): New function, just call
      	(dbus_g_proxy_end_call_internal): Just call
      	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
      	of builtin marshaller for STRING_STRING_STRING.
      	* test/glib/test-dbus-glib.c:
      	* test/glib/test-service-glib.c:
      	* test/glib/test-service-glib.xml:
      	Extend tests to cover name proxies, destruction of owner proxies,
      	* glib/examples/example-signal-recipient.c
      	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
      	* tools/dbus-send.c (main): Print D-BUS error name in addition
      	to message.