summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 2005-02-17 Colin Walters <walters@verbum.org>Colin Walters2005-02-1727-160/+184
| | | | | | | | | | | | | | | | | | | | | | | | * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_SERVICE_DBUS. (DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS. (DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL. (DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS. (DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to DBUS_INTERFACE_INTROSPECTABLE. (DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to DBUS_INTERFACE_PROPERTIES. (DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to DBUS_INTERFACE_PEER. (DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): DBUS_INTERFACE_LOCAL. 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.
* 2005-02-17 Colin Walters <walters@verbum.org>Colin Walters2005-02-1710-99/+239
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 annotation. (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) (method_info_get_binding_names) (interface_info_get_binding_name, method_info_get_binding_name) (interface_info_set_binding_name, method_info_set_binding_name): Remove. (interface_info_get_annotations, method_info_get_annotations) (interface_info_get_annotation, method_info_get_annotation) (interface_info_add_annotation, method_info_add_annotation): Prototype. * 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.
* 2005-02-17 Colin Walters <walters@verbum.org>Colin Walters2005-02-1721-134/+2347
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 dbus_glib_marshal_dbus_message_to_gvalue_array. * 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 array. (get_method_data): New function; look up method data in object data chunk. (object_error_domain_prefix_from_object_info) (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_input_signature_from_object_info) (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 GError. (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 invoke_object_method. * 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-glib-tool.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 info. * 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.
* 2005-02-15 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-167-139/+155
| | | | | | | | | | | | | | | | | | | * 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_pending_call_steal_reply * dbus/dbus-pending-call.c (dbus_pending_call_block): just call _dbus_connection_block_pending_call (dbus_pending_call_get_reply): change to steal_reply and return a ref * 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
* 2005-02-14 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-142-4/+26
| | | | | | * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): properly handle looking up group information by name; fix from j@bootlab.org
* oops, committed some debug junkHavoc Pennington2005-02-131-1/+12
|
* 2005-02-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-133-52/+80
| | | | | | | | | | * 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
* 2005-02-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-132-23/+103
| | | | | | | | | | * dbus/dbus-connection.c (_dbus_connection_acquire_dispatch) (_dbus_connection_release_dispatch) (_dbus_connection_acquire_io_path) (_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.
* 2005-02-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-132-21/+38
| | | | | | * 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
* 2005-02-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-1314-223/+886
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 sure * 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. (CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS (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_remove_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 function
* 2005-02-12 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-126-2/+100
| | | | | | | | | | | | | * 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 driver * 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
* 2005-02-12 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-123-0/+92
| | | | | * bus/driver.c (bus_driver_handle_introspect): add introspection for bus driver
* 2005-02-12 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-123-14/+73
| | | | | | * 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.
* some todo and spec tweaksHavoc Pennington2005-02-122-21/+31
|
* forgot to commit removing address item from TODOHavoc Pennington2005-02-121-4/+0
|
* 2005-02-11 Joe Shaw <joeshaw@novell.com>Joe Shaw2005-02-123-47/+79
| | | | | | | | | | * 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.
* * python/dbus.py (class Sender): added to support dbus signals betterJohn (J5) Palmieri2005-02-116-92/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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 list * 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 support * 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
* 2005-02-10 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-1110-51/+417
| | | | | | | | | | | | | | | | | | * 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 addresses
* 2005-02-10 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-119-18/+35
| | | | | | | | | | | | | | * 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 type * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason): require that dict key is a basic type
* 2005-02-10 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-105-32/+70
| | | | | | | | | * 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
* 2005-02-10 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-103-23/+79
| | | | | | | | * dbus/dbus-message-util.c (verify_test_message): tests for string array * dbus/dbus-message.c (dbus_message_append_args_valist): add support for arrays of string/signature/path
* 2005-02-10 Joe Shaw <joeshaw@novell.com>Joe Shaw2005-02-103-22/+114
| | | | | | | | | | | | | | | | | | | | | | | | * dbus/dbus-connection.c (_dbus_connection_queue_received_message_link, _dbus_connection_message_sent): Add the path to the verbose output. (_dbus_connection_send_preallocated_and_unlock): Added. Calls _dbus_connection_send_preallocated_unlocked(), updated the dispatch status, and unlocks. Fixes a bug where certain situations (like a broken pipe) could cause a Disconnect message to not be sent, tricking the bus into thinking a service was still there when the process had quit. (_dbus_connection_send_preallocated): Call _dbus_connection_send_preallocated_and_unlock(). (_dbus_connection_send_and_unlock): Added. Calls _dbus_connection_send_preallocated_and_unlock(). (dbus_connection_send): Call _dbus_connection_send_and_unlock(). (dbus_connection_send_with_reply): Update the dispatch status and unlock. * mono/Service.cs (~Service): Added. Removes the filter so that we don't get unmanaged code calling back into a GCed delegate. (RemoveFilter); Added.
* * dbus/dbus-message.c (dbus_message_iter_open_container):John (J5) Palmieri2005-02-102-9/+24
| | | | | | - 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
* 2005-02-07 Colin Walters <walters@verbum.org>Colin Walters2005-02-071-0/+5
| | | | | * bus/selinux.c (bus_selinux_allows_send): Handle NULL for sender or proposed_recipient.
* 2005-02-07 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-073-39/+141
| | | | | | | * doc/dbus-specification.xml: some more language cleanups; add stuff about how to deal with invalid protocol and extension points; add _ to allowed chars in auth commands; add EXTENSION_ auth command prefix
* 2005-02-07 Colin Walters <walters@verbum.org>Colin Walters2005-02-071-2/+2
| | | | | * bus/selinux.c (bus_selinux_allows_send): Handle NULL for sender or proposed_recipient.
* 2005-02-06 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-072-5/+9
| | | | * s/expected/required/ in a couple places for clarity
* fix the docs on signal you get when you lose a bus nameHavoc Pennington2005-02-061-1/+1
|
* 2005-02-06 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-065-27/+182
| | | | | | | * dbus/dbus-message-factory.c (generate_special): more tests * dbus/dbus-marshal-validate.c (validate_body_helper): detect array length that exceeds the maximum
* 2005-02-05 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-068-51/+654
| | | | | | | | | | | | | | | | | * dbus/dbus-message-factory.c (generate_special): more test cases, increasing coverage * dbus/dbus-marshal-validate.c (validate_body_helper): return the reason why a signature was invalid * dbus/dbus-marshal-header.c (load_and_validate_field): fix to skip the length of the string before we look at it in validation * dbus/dbus-string-util.c (_dbus_string_test): add tests for equal_substring * dbus/dbus-message.c (_dbus_message_loader_new): default max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
* 2005-02-05 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-055-10/+190
| | | | | | | | | | * dbus/dbus-marshal-validate.c (validate_body_helper): fix crash if the signature of a variant was empty (_dbus_validate_signature_with_reason): catch "(a)" (array inside struct with no element type) * dbus/dbus-message-factory.c (generate_uint32_changed): add more mangled messages to break things
* 2005-02-04 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-052-13/+62
| | | | | | | | | | | | | | | | * glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use g_quark_try_string() so it actually can return 0 (dbus_g_proxy_connect_signal): ditto 2005-02-04 Havoc Pennington <hp@redhat.com> * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a bogus warning (tristring_from_message): assert cleanly on null path/interface (should not be possible though I decided later) (dbus_g_proxy_dispose): move proxy manager unregistration here (DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of g_return_if_fail() checks
* 2005-02-04 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-02-054-0/+56
| | | | | | | | | | * doc/Makefile.am (EXTRA_DIST): add DTDs to makefile * doc/introspect.dtd: add introspect.dtd from David A. Wheeler (with some minor changes) * doc/dbus-specification.xml: add deprecated attribute to introspection format
* 2005-01-31 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-312-140/+199
| | | | | * glib/dbus-gproxy.c: rewrite how signals work again, this time I think it's sort of right
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-313-132/+206
| | | | * tools/dbus-viewer.c: kind of half-ass hook up the option menu.
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-3111-88/+510
| | | | | | | | | | | | * tools/dbus-names-model.c: dynamically watch NameOwnerChanged * autogen.sh: change to autotools 1.9 * glib/dbus-gproxy.c: completely change how signals work (dbus_g_proxy_add_signal): new function to specify signature of a signal (dbus_g_proxy_emit_received): marshal the dbus message to GValues, and g_warning if the incoming message has the wrong signature.
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-304-87/+53
| | | | | | | * tools/dbus-names-model.c (have_names_notify): fix this * dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean up the string array handling a bit
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-3014-302/+838
| | | | | | | | | | | | | | | * glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function (dbus_g_pending_call_cancel): new function * dbus/dbus-glib.h: move GType decls for connection/message here; * dbus/dbus-glib.c: move all the g_type and ref/unref stuff in here, just kind of rationalizing how we handle all that * tools/dbus-names-model.c: new file for a tree model listing the services on a bus * tools/dbus-tree-view.c (model_new): use proper typing on the model rows
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-304-13/+104
| | | | | | | | | | * glib/dbus-gmain.c: add a custom GSource back that just checks whether the message queue has anything in it; otherwise, there are cases where we won't see messages in the queue since there was no IO visible to the glib main loop * dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE): increase default message timeout to 25 seconds
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-302-2/+3
| | | | | * test/glib/test-profile.c (no_bus_stop_server): remove the warning about the g_warning that I just fixed
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-302-340/+319
| | | | | | * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the custom source, seems to be a lot easier to understand and work better.
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-302-16/+84
| | | | | | | | | | I think this main loop thing is conceptually broken, but here are some band aids. I'll maybe rewrite it in a minute. * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the custom GSource, so don't pass it in; confusing (gsource_server_finalize, gsource_connection_finalize): add finalize handlers that remove all the watches.
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-3015-53/+307
| | | | | | | | | | | | | | | | | | | | * glib/dbus-gobject.c (introspect_properties): fix the XML generated * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag which effectively detects the use of freed messages * glib/dbus-gobject.c (handle_introspect): modify and return the reply message instead of the incoming message * dbus/dbus-object-tree.c (handle_default_introspect_unlocked): gee, maybe it should SEND THE XML instead of just making a string and freeing it again ;-) * tools/dbus-print-message.c (print_message): improve printing of messages * configure.in: add debug-glib.service to the output
* 2005-01-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-3015-112/+666
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dbus-viewer introspected and displayed the bus driver * dbus/dbus-object-tree.c (object_tree_test_iteration): add tests for a handler registered on "/" * dbus/dbus-object-tree.c (_dbus_decompose_path): fix to handle path "/" properly (run_decompose_tests): add tests for path decomposition * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/" properly * glib/dbus-gobject.c (handle_introspect): fix quotes * test/glib/run-test.sh: support launching the bus, then running dbus-viewer * test/glib/test-service-glib.c (main): put in a trivial gobject subclass and register it on the connection * bus/driver.c (bus_driver_handle_introspect): implement introspection of the bus driver service * dbus/dbus-protocol.h: add #defines for the XML namespace, identifiers, doctype decl * bus/driver.c (bus_driver_handle_get_service_owner): handle attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by returning the service unchanged. (bus_driver_handle_message): remove old check for reply_serial in method calls, now the message type deals with that (bus_driver_handle_message): handle NULL interface * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function * glib/dbus-gloader-expat.c (description_load_from_string): allow -1 for len * tools/dbus-viewer.c: add support for introspecting a service on a bus * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add (dbus_g_pending_call_unref): add
* 2005-01-29 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-294-2/+54
| | | | | | | | | | | | | * tools/dbus-tree-view.c: add support for displaying properties. (run dbus-viewer with an introspect xml file as arg, then resize the window so the tree elements show up, not sure what that is) * glib/dbus-gobject.c (handle_introspect): return org.freedesktop.Properties and org.freedesktop.Introspectable interfaces when we are introspected. * doc/dbus-specification.xml: allow empty interface name when Get/Set a property
* 2005-01-29 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-2911-122/+641
| | | | | | | | | | | | | | | | | | | | | | | | * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool; though it uses glib, it could be extended for any binding in principle * glib/dbus-gobject.c (gobject_message_function): change to the new way properties work * dbus/dbus-protocol.h: add the new interfaces * doc/dbus-specification.xml: document the introspection format, Introspectable interface, and add an org.freedesktop.Properties interface. * glib/dbus-gparser.c: add support for a <property> element * glib/dbus-gidl.c: add PropertyInfo * glib/dbus-gobject.c (handle_introspect): put the outermost <node> outside the signal and property descriptions. (introspect_properties): export properties as <property> rather than as method calls
* 2005-01-28 Havoc Pennington <hp@redhat.com>Havoc Pennington2005-01-293-12/+25
| | | | | * doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks related to authentication protocol
* * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type systemJohn (J5) Palmieri2005-01-286-352/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - BUS_ACTIVATION -> BUS_STARTER - DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER - class MessageIter (__init__): Added recursion checking so we throw a nice error instead of just disconnecting from the bus. (get): Added arg_type parameter for recursion. Removed the nil type Added signiture type placeholder (not implemented) Added struct type placeholder (not implemented) Added varient type placeholder (not implemented) Commented out dict type for now (get_element_type): renamed from get_array_type (get_*): changed to use the dbus_message_iter_get_basic API (get_*_array): removed in favor of recursive get_array method (get_array): new recursive method which calls get to marshal the elements of the array (value_to_dbus_sig): New method returns the corrasponding dbus signiture to a python value (append): Comment out dict handling for now Handle lists with the new recursive API Comment out None handling for now (append_nil): removed (append_*): changed to use dbus_message_iter_append_basic API (append_*_array): removed in favor of recursive append_array method (__str__): Make it easier to print out recursive iterators for debugging - class Message (__str__): moved type inspection to the MessageIter class' __str__ method (get_iter): Added an append parameter wich defaults to False If True use the new API's to create an append iterator * python/dbus.py: Update to use new bindings API - TYPE_ACTIVATION -> TYPE_STARTER - class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner - class ActivationBus -> class StarterBus - class RemoteObject (__call__): get an append iterator - (_dispatch_dbus_method_call): get an append iterator - class Object (emit_signal): get an append iterator * python/examples/: Fixed up the examples to work with the new API
* 2005-01-28 Joe Shaw <joeshaw@novell.com>Joe Shaw2005-01-283-2/+13
| | | | | | | * configure.in: Bump version up to 0.30. * HACKING: Add a release item to bump the version number up after a release.
* small spec fixHavoc Pennington2005-01-281-2/+3
|