| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/Makefile.am:
	* mono/doc/Makefile.am:
	* test/glib/Makefile.am:
	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
 | 
| | 
| 
| 
| 
|  | 
* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
	generating the finalizer.  Fixes from Ben Maurer.
 | 
| | 
| 
| 
| 
| 
|  | 
* mono/ProxyBuilder.cs (BuildConstructor): Decalre a local
	variable for storing our callback in.  Update the allocation
	comments.
 | 
| | 
| 
| 
| 
|  | 
* mono/BusDriver.cs: Update method names: ListServices
	becomes ListNames; GetOwner becomes GetNameOwner.
 | 
| | 
| 
| 
| 
|  | 
* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
	onto the eval stack when removing the delegate.
 | 
| | 
| 
| 
| 
|  | 
* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
	LT_CURRENT.  Set it to the autoconf variable.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Fix a bunch of lifecycle and memory management problems
	in the mono bindings.
	* mono/Arguments.cs (Arguments): Implement IDisposable
	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
	strictly a static class.
	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
	delegates into this file.
	(Connection): Implement IDisposable.
	(Dispose): Disconnect the connection and set the raw connection
	pointer to IntPtr.Zero.
	(~Connection): Call Dispose().
	(RegisterObjectPath): Added.  Manages the registration of object
	paths so we can cleanly disconnect them at dispose/finalize time.
	(UnregisterObjectPath): Ditto.
	(set_RawConnection): Unregister all of the object paths when
	changing the underlying DBusConnection.  Add them back onto the
	new connection, if any.
	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
	more unmanaged resources anymore, so it's not necessary.  Move all
	the DBusObjectPathVTable stuff out of here.
	(Handler): Save references to our delegates so that they don't get
	finalized.  Call Connection.RegisterObjectPath() instead of
	dbus_connection_register_object_path() directly.
	(Message_Called): Dispose the message after we're finished with
	it.
	* mono/Message.cs (Message): Implement IDisposable.
	(Dispose): Dispose the Arguments, and set the RawMessage to
	IntPtr.Zero.
	(SendWithReplyAndBlock): We own the ref to the reply that comes
	back from dbus_connection_send_with_reply_and_block() so add a
	comment about that and unref it after we've constructed a managed
	MethodReturn class around it.  Fixes a big, big leak.
	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
	method.
	(BuildSignalHandler): After we've sent the Signal message, dispose
	of it.
	(BuildMethod): Dispose of the method call and reply messages after
	we've sent the message and extracted the data we want from the
	reply.
	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
	anymore.
	(Service_FilterCalled): Dispose of the message after we're
	finished with it.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-connection.c (dbus_connection_send_with_reply):
        After we attach our pending call to the connection, unref
        it.  Fixes a leak.
        * mono/Connection.cs (set_RawConnection): Disconnect our
        filter and match callbacks from the old connection and
        reconnect them to the new connection, if any.
	* mono/DBusType/Array.cs: "Code" is a static member, so
	don't use "this" to refer to it.  Fix for stricter checking
	in Mono 1.1.4.
        * mono/DBusType/ObjectPath.cs (Append): Don't leak the
	object path that we pass into unmanaged code.
        * mono/DBusType/String.cs (Append): Don't leak the string
	that we pass into unmanged code.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
| 
|  | 
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.  Clean up after the .mdb files this leaves
	behind.
 | 
| | 
| 
| 
| 
| 
|  | 
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.  Clean up after the .mdb files this leaves
	behind.
 | 
| | 
| 
| 
| 
|  | 
* mono/doc/Makefile.am: Need to uninstall the docs on "make
	uninstall"
 | 
| | 
| 
| 
| 
|  | 
* mono/Makefile.am, mono/example/Makefile.am: Always build the
	dbus DLL with --debug.
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Patch from Sjoerd Simons <sjoerd@luon.net>
	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
	DESTDIR.  It breaks stuff.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
	Type.UnderlyingSystemType to get the actual system type
	underneath.  This code previously depended on the broken Mono
	behavior, which was fixed in 1.1.3.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
|  | 
Patch from Ed Catmur <ed@catmur.co.uk>
	* mono/doc/Makefile.am (install-data-local): Handle
	DESTDIR.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* mono/Arguments.cs (GetDBusTypeConstructor):
	type.UnderlyingSystemType will return "System.Byte" if you do it
	on "byte[]", which is not what we want.  So check the type.IsArray
	property and use System.Array instead.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* mono/BusDriver.cs: Changed BusDriver struct to remove
	    the ServiceCreated and ServiceDeleted events and replace them
	    with the new ServiceOwnerChanged event.
	    * mono/example/BusListener.cs: Added a new example program,
	    which listens for and reports any ServiceOwnerChanged events
	    on the bus driver.
	    * mono/example/Makefile.am (DESTDIR): Build changes for the
	    new BusListener.cs example.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Patch from Nat Friedman <nat@novell.com>
	    * mono/Makefile.am: A number of small build fixes to allow "make
	    distcheck" to succeed.
	    * mono/example/Makefile.am: "make distcheck" fixes.
	    * mono/AssemblyInfo.cs.in: When signing the assembly, look for the
	    key in @srcdir@.
	    * test/Makefile.am: "make distcheck" fixes.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* mono/BusDriver.cs: Added.  This is a class for interacting with
	    the org.freedesktop.DBus service.
	    * mono/Message.cs: Added a mechanism to expose the message that is
	    currently being dispatched via the static Message.Current
	    property.  Added Message.Sender and Message.Destination
	    properties.
	    * mono/Handler.cs: Expose the dispatched message via
	    Message.Current when handling method calls.
	    * mono/Service.cs: Expose the dispatched message via
	    Message.Current when handling signal emissions.
	    * mono/Connection.cs: Bind dbus_bus_get_base_service via the
	    Connection.BaseService property.
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* configure.in: If --enable-mono is passed in, if we can't find
	mono error out.
	* mono/Makefile.am: Use /gacutil to install assemblies into the
	GAC and not /root.
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* doc/Makefile.am, qt/Makefile.am:
	mono/doc/Makefile.am: Allow 'make dist'
	without doc building of various sorts or
	QT support enabled.
 | 
| | 
| 
| 
|  | 
mono version and use new -pkg flag.
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
system type (Byte, Int32, UInt32, Int64, UInt64)
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
it in the case of an array of OBJECT_PATH objects.
 | 
| |  | 
 | 
| | 
| 
| 
|  | 
for every registered object. Also added object_path functions to dbus-message.
 |