Commit Graph

194 Commits

Author SHA1 Message Date
fredkiefer
90f4f6cabd * Source/DKArgument.m,
* Source/DKEndpoint.m: Trivial spelling fixes.
2018-07-27 10:16:41 +02:00
Niels Grewe
6ce276bad2 Bundle building improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@40512 72102866-910b-0410-8b05-ffd578937521
2017-05-23 07:05:20 +00:00
Niels Grewe
a236db427e Word-size related format string fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@40505 72102866-910b-0410-8b05-ffd578937521
2017-05-15 20:55:13 +00:00
Niels Grewe
c7c8d3dbf0 More expressive return codes for bus name requests
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@40504 72102866-910b-0410-8b05-ffd578937521
2017-05-15 20:40:32 +00:00
Niels Grewe
6537103a9e Small type safety improvements
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@40503 72102866-910b-0410-8b05-ffd578937521
2017-05-15 20:24:48 +00:00
Niels Grewe
207ead7ca1 Fix interface mismatch
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@40501 72102866-910b-0410-8b05-ffd578937521
2017-05-10 23:16:17 +00:00
Richard Frith-MacDonald
f967447b98 Remove GC macros as GC is gone from base
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@39612 72102866-910b-0410-8b05-ffd578937521
2016-03-28 06:16:41 +00:00
Niels Grewe
f6afbfd0b2 A few consistency fixes for loop iterator varaibles (Patch by Marcus Müller)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37644 72102866-910b-0410-8b05-ffd578937521
2014-01-29 18:50:23 +00:00
Niels Grewe
6afb2cec7b Fix various smaller build problems reported by Marcus Müller
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37643 72102866-910b-0410-8b05-ffd578937521
2014-01-29 14:38:28 +00:00
Niels Grewe
88265c5ae2 Fix off-by-one error when unmarshalling multiple return values. (Reported by Marcus Müller)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37642 72102866-910b-0410-8b05-ffd578937521
2014-01-29 09:18:22 +00:00
Niels Grewe
40258b7034 A lot of changes to deal with the fact that many D-Bus services
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
2014-01-15 19:16:54 +00:00
Niels Grewe
6188a008b3 Finish support for posting notifications/signals to D-Bus.
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
2014-01-14 21:02:57 +00:00
Niels Grewe
6fe3a124b8 Fix a very stupid memory leak (we were creating an additional
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
2014-01-13 17:03:13 +00:00
Niels Grewe
1fa440e08e Deprecate some observer management methods because it was
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
2014-01-13 08:33:43 +00:00
Niels Grewe
56074cd6c0 Add support for NSData conversion in the libclang introspection generator.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37562 72102866-910b-0410-8b05-ffd578937521
2014-01-09 08:30:34 +00:00
Niels Grewe
17b526603e Format string safety fixes, test case for NSData<->D-Bus byte arrays
conversions (and a accompanying bugfix).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37559 72102866-910b-0410-8b05-ffd578937521
2014-01-08 18:27:35 +00:00
Niels Grewe
6c8389fee3 Regenerate README, improve protability of a few string formats,
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
2014-01-06 14:55:35 +00:00
Niels Grewe
85053ffd1e Allow D-Bus byte-typed arrays to be unmarshalled as NSData objects. We don't
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
2014-01-04 15:24:36 +00:00
Niels Grewe
12639b9de3 Support for explicitly designating an object to be exposed as a structure
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
2014-01-01 19:36:36 +00:00
Niels Grewe
b15241515a Fix unmarshalling of arguments in incoming D-Bus method calls.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37527 72102866-910b-0410-8b05-ffd578937521
2013-12-30 22:25:33 +00:00
Niels Grewe
75dad0d239 Improve validity check for object path-typed arguments:
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
2013-12-30 19:47:31 +00:00
Niels Grewe
a48726d7ba Add missing include (patch by Philippe Roussell) and improve some object export functionality.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36868 72102866-910b-0410-8b05-ffd578937521
2013-07-10 19:26:49 +00:00
Niels Grewe
ea707114bf Fix last commit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36798 72102866-910b-0410-8b05-ffd578937521
2013-07-02 14:32:32 +00:00
Niels Grewe
2891af1ce9 Expose some more DKProxy state for subclasses. Implement private method
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
2013-07-02 10:30:00 +00:00
Niels Grewe
b8be8115ce Handle DBus method calls in DKOutgoingProxy (previously, they would
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
2013-07-01 15:42:04 +00:00
Niels Grewe
bb8ebd7470 Remove deprecated self->isa access.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36672 72102866-910b-0410-8b05-ffd578937521
2013-05-29 07:23:20 +00:00
Niels Grewe
458411f6f2 Replace incorrect usage of NSDebugMLog in functions with NSDebugFLog.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35789 72102866-910b-0410-8b05-ffd578937521
2012-11-11 13:25:44 +00:00
Niels Grewe
91e7e23449 Deal with clang warnings about cast of SEL to uintptr_t.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35592 72102866-910b-0410-8b05-ffd578937521
2012-09-23 07:55:41 +00:00
Niels Grewe
ef106cb14b Further work on generating D-Bus introspection data. We can now successfully
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
2012-08-22 21:34:25 +00:00
Niels Grewe
6e5ad82879 Fix typos.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35420 72102866-910b-0410-8b05-ffd578937521
2012-08-18 21:41:42 +00:00
Niels Grewe
1e4da1abbb Minor build compatibility tweaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35416 72102866-910b-0410-8b05-ffd578937521
2012-08-17 08:38:33 +00:00
Niels Grewe
d08f28898f Build compatibility tweaks.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35413 72102866-910b-0410-8b05-ffd578937521
2012-08-16 18:37:50 +00:00
Niels Grewe
e8e12ac35b Finally disable -Wdeclaration-after-statement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35411 72102866-910b-0410-8b05-ffd578937521
2012-08-16 09:21:24 +00:00
Niels Grewe
0d7353ce76 Implement D-Bus method generation from Objective-C runtime introspection data
(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
2012-08-16 08:21:59 +00:00
Niels Grewe
e1541679bb First batch of object vending changes. We can now succesfully export arbitrary
object graphs to D-Bus and they can (partially) be introspected by other clients
on the bus. Exported objects  don't respond to message sends yet, though.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35161 72102866-910b-0410-8b05-ffd578937521
2012-05-24 20:32:14 +00:00
Niels Grewe
28572c0c9d Finally clean up and commit WIP object path management code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35100 72102866-910b-0410-8b05-ffd578937521
2012-04-21 19:24:55 +00:00
Niels Grewe
5280155b02 Move declarations around (patch by Phillipe Roussel)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@35097 72102866-910b-0410-8b05-ffd578937521
2012-04-21 11:20:15 +00:00
Niels Grewe
d0d44a9224 Start work on scaffolding for vending objects to D-Bus.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34945 72102866-910b-0410-8b05-ffd578937521
2012-03-17 21:51:36 +00:00
Niels Grewe
adb8cdd2c6 Do some clever implementation replacement to massively simplify the code path
we use when calling -rootProxy on NSConnections to D-Bus ports. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34661 72102866-910b-0410-8b05-ffd578937521
2012-01-29 17:16:01 +00:00
Niels Grewe
e7b2480f92 XML introspection data generation improvements.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34655 72102866-910b-0410-8b05-ffd578937521
2012-01-29 14:02:26 +00:00
Niels Grewe
413d298bad Further work on XML introspection data generation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34650 72102866-910b-0410-8b05-ffd578937521
2012-01-28 13:44:28 +00:00
Niels Grewe
3275563fbf Use constants for argument directions consistently.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34648 72102866-910b-0410-8b05-ffd578937521
2012-01-27 14:40:45 +00:00
Niels Grewe
2c2956b904 Implement generation of XML introspection data for properties.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34647 72102866-910b-0410-8b05-ffd578937521
2012-01-27 14:29:35 +00:00
Niels Grewe
bf6cb08323 Implement generation of XML introspection data for methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34646 72102866-910b-0410-8b05-ffd578937521
2012-01-27 13:58:57 +00:00
Niels Grewe
c22f465fba Add first test for XML introspection data generation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34638 72102866-910b-0410-8b05-ffd578937521
2012-01-26 20:16:49 +00:00
Niels Grewe
cbc5f69c9e Bugfixes for problems detected by clang's static analyser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33946 72102866-910b-0410-8b05-ffd578937521
2011-10-05 14:12:49 +00:00
Niels Grewe
0288e9221b Absence of the change notification annotation in the introspection data implies
that a property sends change notifications (per D-Bus spec).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33945 72102866-910b-0410-8b05-ffd578937521
2011-10-05 13:58:32 +00:00
Niels Grewe
1e19ce9557 Add a special case for conversions to BOOL for compliance with the D-Bus specification.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33944 72102866-910b-0410-8b05-ffd578937521
2011-10-05 13:54:56 +00:00
Niels Grewe
388c1a47c3 Small bugfixes for issues detected by clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33943 72102866-910b-0410-8b05-ffd578937521
2011-10-05 13:42:46 +00:00
Niels Grewe
16103fe40a Start working on KVO support.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@33919 72102866-910b-0410-8b05-ffd578937521
2011-09-30 23:53:29 +00:00