[RFC 0/6] D-Bus client and proxy API
by Szymon Janc
Hi,
This set adds initial version of D-Bus client and proxy APIs.
With this is it possible to connect to specified service, monitor
proxies being added/removed, set/get properties and call methods
on specific proxy.
First 3 patches are some extensions to message API that were needed for
client code.
This is tested against BlueZ D-Bus API and seems to work fine within
my (simple) application.
Comments are welcome.
Szymon Janc (6):
dbus: Add l_dbus_message_get_arguments_valist
dbus: Add l_dbus_message_builder_append_from_valist
dbus: Use l_dbus_message_builder_append_from_valist in
append_arguments
dbus: Add support for proxy interface
dbus: Add support for setting properties on D-Bus proxy interface
dbus: Add convenient API for calling method on proxy interface
Makefile.am | 2 +
ell/dbus-client.c | 732 +++++++++++++++++++++++++++++++++++++++++++++++++++++
ell/dbus-client.h | 102 ++++++++
ell/dbus-message.c | 476 +++++++++++++++++-----------------
ell/dbus.h | 6 +
ell/ell.h | 1 +
6 files changed, 1088 insertions(+), 231 deletions(-)
create mode 100644 ell/dbus-client.c
create mode 100644 ell/dbus-client.h
--
2.14.3
4 years, 6 months
[PATCH] dbus: Fix array handling in l_dbus_message_builder_append_from_iter
by Szymon Janc
For array it is needed to iterate over its elements rather than
signature.
---
ell/dbus-message.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ell/dbus-message.c b/ell/dbus-message.c
index c23113e..7653c03 100644
--- a/ell/dbus-message.c
+++ b/ell/dbus-message.c
@@ -1907,9 +1907,13 @@ LIB_EXPORT bool l_dbus_message_builder_append_from_iter(
container_type, signature))
return false;
- while (iter.sig_pos < iter.sig_len)
- if (!l_dbus_message_builder_append_from_iter(builder, &iter))
- return false;
+ if (container_type == DBUS_CONTAINER_TYPE_ARRAY)
+ while(l_dbus_message_builder_append_from_iter(builder, &iter));
+ else
+ while (iter.sig_pos < iter.sig_len)
+ if (!l_dbus_message_builder_append_from_iter(builder,
+ &iter))
+ return false;
if (!l_dbus_message_builder_leave_container(builder,
container_type))
--
2.14.3
4 years, 6 months
[PATCH] build: Fix parallel build
by Szymon Janc
GEN unit/cert-intca.pem
GEN unit/cert-server.pem
GEN unit/cert-chain.pem
GEN unit/cert-entity-int.pem
CCLD unit/test-pem
CCLD unit/test-tls
CCLD unit/test-key
libtool: error: cannot find the library 'ell/libell-private.la' or
unhandled argument 'ell/libell-private.la'
make[1]: *** [Makefile:1392: unit/test-tls] Error 1
make[1]: *** Waiting for unfinished jobs....
libtool: error: cannot find the library 'ell/libell-private.la' or
unhandled argument 'ell/libell-private.la'
make[1]: *** [Makefile:1344: unit/test-pem] Error 1
make: *** [Makefile:1000: all] Error 2
---
Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 9b4ca06..a95bac4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -238,13 +238,13 @@ unit_test_base64_LDADD = ell/libell-private.la
unit_test_pbkdf2_LDADD = ell/libell-private.la
unit_test_pem_LDADD = ell/libell-private.la
-unit_test_pem_DEPENDENCIES = $(cert_files)
+unit_test_pem_DEPENDENCIES = $(cert_files) ell/libell-private.la
unit_test_tls_LDADD = ell/libell-private.la
-unit_test_tls_DEPENDENCIES = $(cert_files)
+unit_test_tls_DEPENDENCIES = $(cert_files) ell/libell-private.la
unit_test_key_LDADD = ell/libell-private.la
-unit_test_key_DEPENDENCIES = $(cert_files)
+unit_test_key_DEPENDENCIES = $(cert_files) ell/libell-private.la
unit_test_uuid_LDADD = ell/libell-private.la
--
2.14.3
4 years, 6 months