edbus: Implement DBus.Properties for services

Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79035 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: Add invalidate to EDBus_Property

Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79036 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
even if we have an older libdbus - let's #define the strings that are
missing - at r4untime we wont get them, but hey - we'll compile at
least and when dbus is upgrade... we'll get them and work right. :)



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79080 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: reply for name request is reply code

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79121 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: Append path of child objects in Introspectable

Patch by: José Roberto de Souza  <zehortigoza@profusion.mobi>



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79175 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: simplify and explain code

No need to strlen(obj->path) twice per loop iteration. Do it only once
and add a comment explaining the difference between handling "/" and
"/my/path/to/obj".



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79176 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: move function up - no fwd declaration when not needed



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79177 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: simplify and fix formatting



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79178 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: fix checking if root objects are our son

strncmp'ing is not sufficient because it whould fail in case an object
like "/org/bla" is registered (and in conn->root_objs) and we were
registering "/org/blatest/". We would incorrectly put "/org/bla" as son
of "/org/blatest". Fix this by looking up the next char, checking if
it's a slash.

Also re-format the code a little bit.



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79179 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: add son in server example for tests



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79180 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: compat introspection with no annotation/arg



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79181 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: simplify/unify appending args to methods/signals

Functions to append methods/properties/signals also marked as inline as
they should be called by only one place.



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79182 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: do not alloc/free eina_strbuf. Reset it instead



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79183 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: check signature earlier and fail on invalid signature

The problem is: if there's any arg with invalid signatures, we cannot
continue adding the interface. Just fail with a log message so user will
notice it.

This means we need to check if signals are valid much earlier. Actually
before even adding the object/interface.

Also change the iteration on signals so we don't use a needless index.



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79184 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
edbus: add const where it's due and remove casts



git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edbus@79185 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33