use variant typed arguments extensively. Inside those, we don't
have any introspection information, and the other side might have
expectations that we don't know about. Hence, we now have classes
to explicitly identify the format we want to pass the object in.
Using these new classes, our implementation of the D-Bus menu protocol
has is finally progressed into working state!
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37606 72102866-910b-0410-8b05-ffd578937521
This also changes the behaviour of DKPort: If a local receive
port is requested, we now cache it and always return the
same instance. This makes sense because the underlying
DKEndpoint is shared anyways, and it fixes a bug where
multiple ports were exposing different parts of the object
graph without knowing about each other (this only became
apparent when the notification center class started looking
up the proxies and couldn't find them eventhough they were
properly exported).
Also contains some debugging and example improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37604 72102866-910b-0410-8b05-ffd578937521
D-Bus reply message, which was never freed)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37597 72102866-910b-0410-8b05-ffd578937521
using a mixture of C-style arguments and varags in a
slightly confusing way. Introduce new replacement methods
that accept the filter specification as a dictionary.
Documentation improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37586 72102866-910b-0410-8b05-ffd578937521
implement method for marshalling the contents of a notification's
user info dictionary for use as in-arguments of a D-Bus signal.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37543 72102866-910b-0410-8b05-ffd578937521
do that by default (whether an array of byte-sized values is conceptually an
array or a blob of data is not always obvious, so the plain D-Bus introspection
data is not expressive enough) but only if the argument is annotated as being
of the Objective-C class "NSData" (that's already supported by the libclang
based introspection interface)
Test cases pending.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37534 72102866-910b-0410-8b05-ffd578937521
(in the DBusMenu bundle) and an example theme that uses this.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37532 72102866-910b-0410-8b05-ffd578937521
on D-Bus. This is only required in some corner cases where the structure
appears inside a variant-typed argument. This means that we don't have any
introspection information to decide whether we want to marshall an NSArray
as a D-Bus structure or a D-Bus array.
Also start support for converting NSData to D-Bus byte arrays.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37531 72102866-910b-0410-8b05-ffd578937521
Previously we were only allowing references to objects local to the receiver
of a D-Bus message. This effectively prevented posting an object path
exported by the process running DBusKit to another D-Bus service, so the
validity check now allows objects local to either the sender or the receiver
of the message.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37526 72102866-910b-0410-8b05-ffd578937521
for manually loading instrospection metadata into a outward facing proxy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36797 72102866-910b-0410-8b05-ffd578937521
be passed up to DKObjectPath which only understood how to handle -Introspect.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36788 72102866-910b-0410-8b05-ffd578937521
generate interface descriptions from classes or protocols at runtime (limited
though, all Objective-C object pointers are mapped to DBUS_TYPE_VARIANT).
Also started working on using libclang to generate more expressive introspection
information (but libclang remains optional).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35439 72102866-910b-0410-8b05-ffd578937521
(no methods get yet exposed on the bus, though). Fix a couple of bugs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35410 72102866-910b-0410-8b05-ffd578937521