Commit Graph

243 Commits

Author SHA1 Message Date
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
Marcus Müller
42dfcdcd7e Properly set application name, image and sound for notification.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37654 72102866-910b-0410-8b05-ffd578937521
2014-01-31 14:27:43 +00:00
Marcus Müller
3ffe68a3f1 Responsibility for setting "presented" has been moved to _deliverNotification:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37652 72102866-910b-0410-8b05-ffd578937521
2014-01-31 12:10:25 +00:00
Marcus Müller
ea88e29431 Improved logging by providing a dedicated facility, "NSUserNotification"
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37650 72102866-910b-0410-8b05-ffd578937521
2014-01-30 16:04:02 +00:00
Niels Grewe
fe12e698fd Fix typo
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37648 72102866-910b-0410-8b05-ffd578937521
2014-01-30 15:04:07 +00:00
Marcus Müller
1e671c7f83 Implementation of the DBus-based Desktop Notifications Specification (https://people.gnome.org/~mccann/docs/notification-spec/notification-spec-latest.html) on top of NSUserNotificationCenter
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37646 72102866-910b-0410-8b05-ffd578937521
2014-01-30 14:27:10 +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
433c159d5c Improve documentation on how we pass multiple 'out' arguments from
remote D-Bus objects to Objective-C code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37641 72102866-910b-0410-8b05-ffd578937521
2014-01-29 08:42:25 +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
0ab49a825b Fall back to in-window menus if the menu server is not available
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37561 72102866-910b-0410-8b05-ffd578937521
2014-01-09 08:17:41 +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
bcf52f728e Documentation fixes, use standard method for getting the X window ID
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@37538 72102866-910b-0410-8b05-ffd578937521
2014-01-05 22:53:45 +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
b471299b3a Add work-in-progress implementation of Canonical's D-Bus menu protocol
(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
2014-01-01 19:39:49 +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
1d4df513cc Test for clang_Cursor_getArgument(), since its's only present in more recent libclang versions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@36789 72102866-910b-0410-8b05-ffd578937521
2013-07-01 15:47:21 +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
69a8dd2665 Fix declaration of queueCount ivar.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/dbuskit/trunk@34944 72102866-910b-0410-8b05-ffd578937521
2012-03-17 21:17:54 +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