| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* 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.
|
| |
|