Commit Graph

75 Commits

Author SHA1 Message Date
Lucas De Marchi
7f2b69d7b8 gdbus: remove signature and reply from tables 2012-05-20 02:47:57 -07:00
Lucas De Marchi
ce3345e21d gdbus: loop over args to check message signature 2012-05-20 02:47:57 -07:00
Lucas De Marchi
568a7d0707 gdbus: use GDBusArgInfo to generate introspection
By using GDBusArgInfo in methods and signals, the introspection
generation is much simpler and we can add each argument name.
2012-05-20 02:47:57 -07:00
Lucas De Marchi
8e815c100b gdbus: add and use helpers for table declarations 2012-05-20 02:47:57 -07:00
Marcel Holtmann
addd756348 gdbus: Constify introspection method table 2012-05-17 19:58:02 -07:00
Lucas De Marchi
37805e0197 gdbus: do not call memset for terminating NUL 2012-05-17 19:58:01 -07:00
Lucas De Marchi
a77fcca3c6 gdbus: return if method signature is malformed 2012-05-17 19:58:01 -07:00
Syam Sidhardhan
2f232f8b02 gdbus: Fix white space coding style issue
- corrected the space before '{'
2012-04-05 08:07:28 -07:00
Szymon Janc
ecd56f7a07 gdbus: Remove unused result variable from g_dbus_pending_success 2011-05-27 09:53:38 -07:00
Daniel Wagner
1ef27ffe86 gdbus: Remove root node 'name' attribute in introspection
generate_introspection_xml generates the root <node> tags with a
'name' attribute. This seems to be a valid attribute but it is not
consistent with the way the D-Bus daemon generates empty nodes.

For example if we register "/foo/bar", D-Bus daemon will generate for
"/foo" a introspection which looks like this:

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node>
  <node name="bar"/>
</node>

and generate_introspection_xml generates for "/foo/bar":

<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/foo/bar">
</node>

Just don't add the 'name' attribute to the root node.  The GLib
binding for D-Bus does it the same way.
2011-01-19 17:25:30 +01:00
Daniel Wagner
28ec0e2174 gdbus: invaldate_parent_data: walk the whole path down
Assume there is only one object registerd at "/". If we add a new
object at "/foo/bar" the introspection of "/" has to be updated. A new
node has to be added at "/".

invalidate_parent_data stops invaldating the whole path because the
boolean return value of dbus_connection_get_object_path_data is used
wrong.

If we get a TRUE just go on down in the path, if FALSE is return
dbus_connection_get_object_path_data has run out of memory.
2011-01-19 17:25:30 +01:00
Marcel Holtmann
e5120c96e9 gdbus: Update copyright information 2011-01-01 17:32:29 -08:00
Lucas De Marchi
752a2ccec8 gdbus: explicitly compare pointers to NULL
This patch was generated by the following semantic patch
(http://coccinelle.lip6.fr/)

// <smpl>
@fix disable is_null,isnt_null1@
expression *E;
@@

- !E
+ E == NULL
// </smpl>
2010-12-08 16:33:06 +01:00
Marcel Holtmann
f02dd45e0b Add support for builtin GDBus security using PolicyKit 2010-09-09 18:26:37 +02:00
Marcel Holtmann
e173173a1f Add support for GDBus security action and flags 2010-09-09 18:26:36 +02:00
Marcel Holtmann
679f17303d Use simpler error callbacks for GDBus security hooks 2010-09-09 18:26:36 +02:00
Marcel Holtmann
8ef8135a2a Add support for GDBus security handlers 2010-09-09 18:26:36 +02:00
Johan Hedberg
58b37ddb53 Fix parent path introspection data invalidation for multiple levels
In the case that parent path data needs to be invalidated we shouldn't
stop at the immediate parent if it doesn't have our own handler
registered but should continue upwards in the tree until we reach root
or our own handler.
2010-04-30 00:30:54 +02:00
Johan Hedberg
3f2494a7b0 Fix memory leak in g_dbus_register_interface 2010-04-29 23:46:12 +02:00
Marcel Holtmann
ab5dcea4fd Make interface callback tables const 2010-03-07 14:33:09 -08:00
Marcel Holtmann
8e0de054cd Update copyright information of D-Bus helper library 2010-01-01 17:05:57 -08:00
RISKÓ Gergely
df7313d301 gdbus: handle introspection generally in generic_message.
Previously it was a specific case, now introspection is just another
interface, which is always implemented.  It is registered/unregistered
when an object path is referenced first/last.
2009-09-24 10:22:19 -07:00
RISKÓ Gergely
e72d349483 Add introspection interface to the output of introspection calls
This provides better compatibility with some D-Bus clients, such as qdbus.
2009-09-14 14:08:07 -07:00
Denis Kenzior
50ff91e209 Make the parent path invalidateable 2009-05-11 11:50:45 -07:00
Marcel Holtmann
7851155b80 Add D-Bus helper library for GLib integration 2009-04-26 20:51:36 +02:00