Commit graph

884 commits

Author SHA1 Message Date
Havoc Pennington
fd3e49f249 2005-01-29 Havoc Pennington <hp@redhat.com>
* 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-29 19:52:19 +00:00
Havoc Pennington
602c4b05c4 2005-01-28 Havoc Pennington <hp@redhat.com>
* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
	related to authentication protocol
2005-01-29 04:21:32 +00:00
John (J5) Palmieri
216fa619f3 * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
- 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 19:09:55 +00:00
Joe Shaw
cbe79dee56 2005-01-28 Joe Shaw <joeshaw@novell.com>
* configure.in: Bump version up to 0.30.

	* HACKING: Add a release item to bump the version number up after
	a release.
2005-01-28 17:04:35 +00:00
Havoc Pennington
bb98998d68 small spec fix 2005-01-28 15:02:41 +00:00
Havoc Pennington
c7816d45e8 2005-01-28 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: update to describe 16-bit types and
	dict entries

	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
	assertion

	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
	type

	* dbus/dbus-marshal-recursive.c: implement
2005-01-28 05:30:53 +00:00
Havoc Pennington
3ed9db546e 2005-01-27 Havoc Pennington <hp@redhat.com>
* dbus/dbus-arch-deps.h.in: add 16/32-bit types

	* configure.in: find the right type for 16 and 32 bit ints as well
	as 64

	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
	the 16-bit types so people don't have to stuff them in 32-bit or
	byte arrays.
2005-01-28 03:06:56 +00:00
Havoc Pennington
4506b6594b remove completed byteswap item 2005-01-28 00:08:28 +00:00
Havoc Pennington
fddbc09c4a 2005-01-27 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c: byteswap the message if you init an
	iterator to read/write from it

	* dbus/dbus-marshal-byteswap.c: new file implementing
	_dbus_marshal_byteswap()

	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
2005-01-27 23:39:26 +00:00
Havoc Pennington
382d5ad0b4 2005-01-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-validate-util.c: break this out (and fix
	build, apparently - nobody noticed?)
2005-01-27 01:50:01 +00:00
Havoc Pennington
ddc4a0f79a 2005-01-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-marshal-recursive.h: remove todo comment
2005-01-27 00:52:30 +00:00
Joe Shaw
b0002eb697 2005-01-25 Joe Shaw <joeshaw@novell.com>
* Land the mono binding changes to conform to the new APIs.

	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
	DBusType/Dict.cs, and DBusType/Nil.cs from the build.

	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
	type code as a string.
	(InitAppending): Rename dbus_message_append_iter_init() to
	dbus_message_iter_init_append().

	* mono/BusDriver.cs: Rename ServiceEventHandler to
	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
	Rename ServiceOwnerChanged to NameOwnerChanged.

	* mono/Connection.cs: Rename BaseService to UniqueName, and the
	underlying C call.

	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.

	* mono/Service.cs: Rename Exists to HasOwner, internally rename
	dbus_bus_acquire_service() to dbus_bus_request_name().

	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
	of Type.UnderlyingSystemType to get the correct element type for
	the array.
	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
	dbus_message_get_{element|arg}_type() instead of
	dbus_message_iter_init_array_iterator().
	(Append): Replace dbus_message_iter_append_array() with
	dbus_message_iter_open_container() and
	dbus_message_iter_close_container().

	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
	types have been removed.

	* mono/DBusType/*.cs: Replace calls of
	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
	but specify the type in the DllImport extern declaration.  Ditto
	for dbus_message_iter_append_[type]() ->
	dbus_message_iter_append_basic().

	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
	NameOwnerChangedHandler.
2005-01-25 19:47:13 +00:00
John (J5) Palmieri
f4d4d5ace5 * python/dbus_bindings.pyx.in: Rename of methods and bindings
- get_base_service->get_unique_name
	- bus_get_base_service->bus_get_unique_name
	- dbus_bus_get_base_service -> dbus_bus_get_unique_name
	- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS
	- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
	- bus_activate_service -> bus_start_service_by_name
	- dbus_bus_activate_service -> dbus_bus_start_service_by_name
	- bus_acquire_service -> bus_request_name
	- dbus_bus_acquire_service -> dbus_bus_request_name
	- bus_service_exists -> bus_name_has_owner
	- dbus_bus_service_exists -> dbus_bus_name_has_owner

* python/dbus.py: Rename of methods
	- activate_service -> start_service_by_name
	- bus_acquire_service -> bus_request_name
	- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS
	- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
2005-01-25 19:06:53 +00:00
Joe Shaw
737479031f 2005-01-24 Joe Shaw <joeshaw@novell.com>
* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
	signature for the method that can't be found.

	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
	the message has any arguments, we need to call
	_dbus_type_reader_get_current_type(), not
	_dbus_type_reader_has_next().
2005-01-24 21:44:35 +00:00
Havoc Pennington
72c433f80b 2005-01-24 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c: more testing of message validation

	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
	header
2005-01-24 05:56:25 +00:00
Havoc Pennington
9d21554dd3 2005-01-23 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message-factory.c, dbus/dbus-message-util.c:
	get this all working, not many tests in the framework yet though
2005-01-23 06:10:07 +00:00
Havoc Pennington
487f13451d couple of minor tweaks 2005-01-23 03:53:34 +00:00
Havoc Pennington
b43fc80af3 add middle initial 2005-01-23 03:43:38 +00:00
Havoc Pennington
330ae27487 accidentally committed this stuff along with the doc changes, probably broken, will fix it soon 2005-01-23 00:30:49 +00:00
Havoc Pennington
76ee87af5b the new tutorial/FAQ 2005-01-23 00:28:41 +00:00
Havoc Pennington
a5671a72d0 2005-01-22 Havoc Pennington <hp@redhat.com>
* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
	tutorial, based on work from David Wheeler.
2005-01-23 00:25:39 +00:00
Havoc Pennington
606eb2106b 2005-01-21 Havoc Pennington <hp@redhat.com>
* dbus/dbus-bus.c: add more return_if_fail checks

	* dbus/dbus-message.c (load_message): have the "no validation"
	mode (have to edit the code to toggle the mode for now though)

	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
	skips all validation; I want to use this at least for benchmark
	baseline, I'm not sure if it should be a publicly-available switch.
2005-01-21 06:18:04 +00:00
Havoc Pennington
cda2389089 2005-01-21 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: don't put the GLib bindings in the same
	toplevel doxygen group as the low-level API stuff

	* dbus/dbus.h: note that libdbus is the low-level API
2005-01-21 05:06:10 +00:00
Havoc Pennington
a26b75f29e 2005-01-20 Havoc Pennington <hp@redhat.com>
* update-dbus-docs.sh: script to update docs on the web site, only
	works for me though. neener.
2005-01-21 04:47:31 +00:00
Havoc Pennington
a0effa8593 2005-01-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
	code can reveal bugs in it
2005-01-21 04:14:54 +00:00
Havoc Pennington
9dd0367977 2005-01-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
	select() version, patches from Tor Lillqvist
2005-01-21 03:47:21 +00:00
Havoc Pennington
f5cf675641 2005-01-20 Havoc Pennington <hp@redhat.com>
* doc/dbus-tutorial.xml: replace > with &gt;

	* bus/services.c (bus_registry_acquire_service): validate the name
	and return a better error if it's no good.

	* doc/dbus-specification.xml: note NO_AUTO_START change

	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
	from AUTO_START, we're toggling the default

	* bus/dispatch.c: adapt the tests to change of auto-start default
2005-01-21 03:44:10 +00:00
Havoc Pennington
2abdb13ebe 2005-01-18 Havoc Pennington <hp@redhat.com>
* rename dbus-daemon-1 to dbus-daemon throughout
2005-01-18 22:20:38 +00:00
Havoc Pennington
8873c90f99 2005-01-18 Havoc Pennington <hp@redhat.com>
* Throughout, grand renaming to strip out the use of "service",
	just say "name" instead (or "bus name" when ambiguous).  Did not
	change the internal code of the message bus itself, only the
	programmer-facing API and messages.

	* doc/dbus-specification.xml: further update the message bus section

	* bus/config-parser.c (all_are_equiv): fix bug using freed string
	in error case
2005-01-18 20:42:15 +00:00
Havoc Pennington
4fce285052 2005-01-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-types.h: remove 16-bit types since we don't use them
	ever

	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
	"invalid name character" not only non-ASCII

	* doc/dbus-specification.xml: further update spec, message bus
	parts are still out-of-date but the marshaling etc. stuff is now
	accurate-ish
2005-01-18 03:03:07 +00:00
Havoc Pennington
cc63ef88a5 2005-01-17 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: partially update spec
2005-01-18 00:20:39 +00:00
Havoc Pennington
ad937e1695 2005-01-17 Havoc Pennington <hp@redhat.com>
* Throughout, align variant bodies according to the contained
	type, rather than always to 8. Should save a fair bit of space in
	message headers.

	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
	fix handling of case where p == end

	* doc/TODO: remove the dbus_bool_t item and variant alignment items
2005-01-17 22:03:19 +00:00
Havoc Pennington
62e465339a 2005-01-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits

	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
	of an 8-bit type. Now dbus_bool_t is the type to use whenever you
	are marshaling/unmarshaling a boolean.
2005-01-17 19:49:52 +00:00
Havoc Pennington
7bf62e31a3 2005-01-16 Havoc Pennington <hp@redhat.com>
This is about it on what can be disabled/deleted from libdbus
	easily, back below 150K anyhow. Deeper cuts are more work than
	just turning the code off as I've done here.

	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
	signed int convenience funcs

	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
	verbose mode

	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
	things out of libdbus

	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same

	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
	tests-enabled-only, though it should probably be deleted)

	* dbus/dbus-message-util.c: same stuff

	* dbus/dbus-auth-util.c: same stuff
2005-01-17 03:53:40 +00:00
Havoc Pennington
4c1a2a760b 2005-01-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c

	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
	way for stripping down dbus-userdb.c stuff included in libdbus.
	Rename _dbus_parse_uid for consistency.
2005-01-17 01:20:02 +00:00
Havoc Pennington
aad6fa897f 2005-01-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-internals.c (_dbus_real_assert): print the function
	name the assertion failed in

	* dbus/dbus-internals.h (_dbus_return_if_fail)
	(_dbus_return_val_if_fail): assert that the name of the function
	containing the check doesn't start with '_', since we only want to
	use checks on public functions

	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
	checks to assertions

	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
	change checks to asserts for private function

	* dbus/dbus-message.c (_dbus_message_set_serial): checks
	to asserts for private function

	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
	broken assertion that was breaking make check
	(_dbus_type_reader_array_is_empty): remove this rather than fix
	it, was only used in assertions
2005-01-17 00:16:28 +00:00
Havoc Pennington
7f9721a6d3 2005-01-16 Havoc Pennington <hp@redhat.com>
* test/unused-code-gc.py: hacky script to find code that's used
	only by the bus (not libdbus) or used only by tests or not used at
	all. It has some false alarms, but looks like we can clean up a
	lot of size from libdbus.

	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
	dbus/Makefile.am: initially move 10K of binary size out of libdbus
2005-01-16 22:13:35 +00:00
Havoc Pennington
31988af408 2005-01-16 Havoc Pennington <hp@redhat.com>
* Add and fix docs according to Doxygen warnings throughout
	source.

	* dbus/dbus-marshal-recursive.c
	(_dbus_type_reader_array_is_empty): change this to just call
	array_reader_get_array_len() and make it static

	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
	from get_array_type
	(dbus_message_iter_init_append): rename from append_iter_init

	* dbus/dbus-marshal-recursive.c
	(_dbus_type_reader_get_element_type): rename from
	_dbus_type_reader_get_array_type
2005-01-16 15:51:55 +00:00
Havoc Pennington
b3416423b1 2005-01-15 Havoc Pennington <hp@redhat.com>
* test/glib/test-profile.c (with_bus_server_filter): fix crash

	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
	when DBUS_DISABLE_ASSERT
	(_dbus_marshal_set_basic): be sure we align for the string length

	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
	this look faster

	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
	inline macro version
	(_dbus_string_set_byte): provide inline macro version
2005-01-16 02:23:56 +00:00
Havoc Pennington
9c3d566e95 2005-01-15 Havoc Pennington <hp@redhat.com>
* Land the new message args API and type system.

	This patch is huge, but the public API change is not
	really large. The set of D-BUS types has changed somewhat,
	and the arg "getters" are more geared toward language bindings;
	they don't make a copy, etc.

	There are also some known issues. See these emails for details
	on this huge patch:
	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
        http://lists.freedesktop.org/archives/dbus/2005-January/001922.html

	* dbus/dbus-marshal-*: all the new stuff

	* dbus/dbus-message.c: basically rewritten

	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
	freed blocks to be all non-nul bytes so using freed memory is less
	likely to work right

	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
	DBUS_FAIL_MALLOC=N environment variable, so you can do
	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
	thorough.

	* qt/message.cpp: port to the new message args API
	(operator<<): use str.utf8() rather than str.unicode()
	(pretty sure this is right from the Qt docs?)

	* glib/dbus-gvalue.c: port to the new message args API

	* bus/dispatch.c, bus/driver.c: port to the new message args API

	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
	"locked" flag to TRUE and align_offset to 0; I guess we never
	looked at these anyhow, but seems cleaner.

	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
	move allocation padding macro to this header; use it to implement
	(_DBUS_STRING_STATIC): ability to declare a static string.

	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
	change to return TRUE if the interface is not set.

	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
	to dbus-marshal-validate.[hc]

	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
	dbus-internals.c

	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
	to dbus-marshal-*.[hc]

	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
	function here from dbus-marshal.c
2005-01-15 07:15:38 +00:00
Joe Shaw
6ec04e917c Update some paths in HACKING 2005-01-13 01:22:04 +00:00
Joe Shaw
3ca8a2794b 2005-01-12 Joe Shaw <joeshaw@novell.com>
* NEWS: Update for 0.23.

	* configure.in: Release 0.23.
2005-01-12 22:55:32 +00:00
Joe Shaw
ce11956e45 2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.  Clean up after the .mdb files this leaves
	behind.
2005-01-12 22:52:34 +00:00
Joe Shaw
c6adffbbcf 2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.  Clean up after the .mdb files this leaves
	behind.
2005-01-12 22:48:20 +00:00
Joe Shaw
5d2e90f279 2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/doc/Makefile.am: Need to uninstall the docs on "make
	uninstall"
2005-01-12 22:41:29 +00:00
Joe Shaw
ddea52aef6 2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.
2005-01-12 22:34:28 +00:00
Joe Shaw
2388bc86ee 2005-01-12 Joe Shaw <joeshaw@novell.com>
* mono/Makefile.am: Always build the dbus DLL with --debug.

	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
	is an enum, get the enum's underlying type.  Another mono
	1.1.3 fix.
2005-01-12 17:31:08 +00:00
Havoc Pennington
ed3cfaec21 fix doh! in test for double parsing 2005-01-11 22:35:58 +00:00
Joe Shaw
ad03f2672d 2005-01-11 Joe Shaw <joeshaw@novell.com>
Patch from Sjoerd Simons <sjoerd@luon.net>

	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
	DESTDIR.  It breaks stuff.
2005-01-11 22:09:16 +00:00
Joe Shaw
b3ba709079 2005-01-11 Joe Shaw <joeshaw@novell.com>
Patch from Tambet Ingo <tambet@ximian.com>

	* mono/DBusType/Array.cs (Get): Get the underlying element type by
	calling type.GetElementType().  The code previously depended on
	broken Mono behavior, which was fixed in Mono 1.1.3.

	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
	Activator.CreateInstance() so that the class's constructor is
	called with the right parameters.
2005-01-11 19:59:06 +00:00