All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ 0/9] Commonalize functions appending to dbus message
@ 2018-02-28  7:33 ERAMOTO Masaya
  2018-02-28  7:37 ` [PATCH BlueZ 1/9] gdbus: Introduce " ERAMOTO Masaya
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:33 UTC (permalink / raw)
  To: linux-bluetooth

To improve maintainability, this patch set introduces common functions
for appending to dbus message.

ERAMOTO Masaya (9):
  gdbus: Introduce functions appending to dbus message
  obexd: Use g_dbus_dict_append_entry()
  obexd: Remove unused source/header files for dbus
  client: Use g_dbus_dict_append_*()
  mesh: Use g_dbus_dict_append_{entry,array}()
  tools/obexctl: Use g_dbus_dict_append_entry()
  tools/bluetooth-player: Use g_dbus_dict_append_entry()
  unit/test-gdbus-client: Use g_dbus_dict_append_entry()
  dbus-common: Remove unused functions due to use of g_dbus_dict_append_*()

 Makefile.obexd            |   1 -
 client/advertising.c      |  58 ++------------------
 client/main.c             | 100 +++-------------------------------
 gdbus/client.c            | 135 +++++++++++++++++++++++++++++++++-------------
 gdbus/gdbus.h             |   9 ++++
 mesh/main.c               | 100 +++-------------------------------
 obexd/client/dbus.c       |  94 --------------------------------
 obexd/client/dbus.h       |  48 -----------------
 obexd/client/ftp.c        |   7 ++-
 obexd/client/map.c        |   6 +--
 obexd/client/session.c    |   1 -
 obexd/client/transfer.c   |   1 -
 obexd/plugins/bluetooth.c |  40 ++------------
 src/dbus-common.c         |  85 +----------------------------
 src/dbus-common.h         |   6 ---
 src/device.c              |   3 +-
 tools/bluetooth-player.c  |  38 ++-----------
 tools/obexctl.c           |  36 +------------
 unit/test-gdbus-client.c  |  38 ++-----------
 19 files changed, 146 insertions(+), 660 deletions(-)
 delete mode 100644 obexd/client/dbus.c
 delete mode 100644 obexd/client/dbus.h

-- 
2.14.1


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 1/9] gdbus: Introduce functions appending to dbus message
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
@ 2018-02-28  7:37 ` ERAMOTO Masaya
  2018-02-28  7:37 ` [PATCH BlueZ 2/9] obexd: Use g_dbus_dict_append_entry() ERAMOTO Masaya
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:37 UTC (permalink / raw)
  To: linux-bluetooth

---
 gdbus/client.c | 135 +++++++++++++++++++++++++++++++++++++++++----------------
 gdbus/gdbus.h  |   9 ++++
 2 files changed, 106 insertions(+), 38 deletions(-)

diff --git a/gdbus/client.c b/gdbus/client.c
index eaab7d50b..dd5d2eb51 100644
--- a/gdbus/client.c
+++ b/gdbus/client.c
@@ -127,6 +127,99 @@ static gboolean modify_match(DBusConnection *conn, const char *member,
 	return TRUE;
 }
 
+static void append_variant(DBusMessageIter *iter, int type, const void *val)
+{
+	DBusMessageIter value;
+	char sig[2] = { type, '\0' };
+
+	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
+
+	dbus_message_iter_append_basic(&value, type, val);
+
+	dbus_message_iter_close_container(iter, &value);
+}
+
+static void append_array_variant(DBusMessageIter *iter, int type, void *val,
+							int n_elements)
+{
+	DBusMessageIter variant, array;
+	char type_sig[2] = { type, '\0' };
+	char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' };
+
+	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
+						array_sig, &variant);
+
+	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
+						type_sig, &array);
+
+	if (dbus_type_is_fixed(type) == TRUE) {
+		dbus_message_iter_append_fixed_array(&array, type, val,
+							n_elements);
+	} else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
+		const char ***str_array = val;
+		int i;
+
+		for (i = 0; i < n_elements; i++)
+			dbus_message_iter_append_basic(&array, type,
+							&((*str_array)[i]));
+	}
+
+	dbus_message_iter_close_container(&variant, &array);
+
+	dbus_message_iter_close_container(iter, &variant);
+}
+
+static void dict_append_basic(DBusMessageIter *dict, int key_type,
+					const void *key, int type, void *val)
+{
+	DBusMessageIter entry;
+
+	if (type == DBUS_TYPE_STRING) {
+		const char *str = *((const char **) val);
+		if (str == NULL)
+			return;
+	}
+
+	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
+							NULL, &entry);
+
+	dbus_message_iter_append_basic(&entry, key_type, key);
+
+	append_variant(&entry, type, val);
+
+	dbus_message_iter_close_container(dict, &entry);
+}
+
+void g_dbus_dict_append_entry(DBusMessageIter *dict,
+					const char *key, int type, void *val)
+{
+	dict_append_basic(dict, DBUS_TYPE_STRING, &key, type, val);
+}
+
+void g_dbus_dict_append_basic_array(DBusMessageIter *dict, int key_type,
+					const void *key, int type, void *val,
+					int n_elements)
+{
+	DBusMessageIter entry;
+
+	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
+						NULL, &entry);
+
+	dbus_message_iter_append_basic(&entry, key_type, key);
+
+	append_array_variant(&entry, type, val, n_elements);
+
+	dbus_message_iter_close_container(dict, &entry);
+}
+
+void g_dbus_dict_append_array(DBusMessageIter *dict,
+					const char *key, int type, void *val,
+					int n_elements)
+{
+	g_dbus_dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val,
+								n_elements);
+}
+
 static void iter_append_iter(DBusMessageIter *base, DBusMessageIter *iter)
 {
 	int type;
@@ -754,9 +847,8 @@ gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy,
 	struct set_property_data *data;
 	GDBusClient *client;
 	DBusMessage *msg;
-	DBusMessageIter iter, variant;
+	DBusMessageIter iter;
 	DBusPendingCall *call;
-	char type_as_str[2];
 
 	if (proxy == NULL || name == NULL || value == NULL)
 		return FALSE;
@@ -783,18 +875,12 @@ gboolean g_dbus_proxy_set_property_basic(GDBusProxy *proxy,
 		return FALSE;
 	}
 
-	type_as_str[0] = (char) type;
-	type_as_str[1] = '\0';
-
 	dbus_message_iter_init_append(msg, &iter);
 	dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING,
 							&proxy->interface);
 	dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name);
 
-	dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT,
-						type_as_str, &variant);
-	dbus_message_iter_append_basic(&variant, type, value);
-	dbus_message_iter_close_container(&iter, &variant);
+	append_variant(&iter, type, value);
 
 	if (g_dbus_send_message_with_reply(client->dbus_conn, msg,
 							&call, -1) == FALSE) {
@@ -819,10 +905,8 @@ gboolean g_dbus_proxy_set_property_array(GDBusProxy *proxy,
 	struct set_property_data *data;
 	GDBusClient *client;
 	DBusMessage *msg;
-	DBusMessageIter iter, variant, array;
+	DBusMessageIter iter;
 	DBusPendingCall *call;
-	char array_sig[3];
-	char type_sig[2];
 
 	if (!proxy || !name || !value)
 		return FALSE;
@@ -851,37 +935,12 @@ gboolean g_dbus_proxy_set_property_array(GDBusProxy *proxy,
 		return FALSE;
 	}
 
-	array_sig[0] = DBUS_TYPE_ARRAY;
-	array_sig[1] = (char) type;
-	array_sig[2] = '\0';
-
-	type_sig[0] = (char) type;
-	type_sig[1] = '\0';
-
 	dbus_message_iter_init_append(msg, &iter);
 	dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING,
 							&proxy->interface);
 	dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name);
 
-	dbus_message_iter_open_container(&iter, DBUS_TYPE_VARIANT,
-							array_sig, &variant);
-
-	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
-							type_sig, &array);
-
-	if (dbus_type_is_fixed(type))
-		dbus_message_iter_append_fixed_array(&array, type, &value,
-									size);
-	else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
-		const char **str = (const char **) value;
-		size_t i;
-
-		for (i = 0; i < size; i++)
-			dbus_message_iter_append_basic(&array, type, &str[i]);
-	}
-
-	dbus_message_iter_close_container(&variant, &array);
-	dbus_message_iter_close_container(&iter, &variant);
+	append_array_variant(&iter, type, &value, size);
 
 	if (g_dbus_send_message_with_reply(client->dbus_conn, msg,
 							&call, -1) == FALSE) {
diff --git a/gdbus/gdbus.h b/gdbus/gdbus.h
index 4880c84e7..1a601c591 100644
--- a/gdbus/gdbus.h
+++ b/gdbus/gdbus.h
@@ -357,6 +357,15 @@ gboolean g_dbus_proxy_set_property_array(GDBusProxy *proxy,
 				size_t size, GDBusResultFunction function,
 				void *user_data, GDBusDestroyFunction destroy);
 
+void g_dbus_dict_append_entry(DBusMessageIter *dict,
+					const char *key, int type, void *val);
+void g_dbus_dict_append_basic_array(DBusMessageIter *dict, int key_type,
+					const void *key, int type, void *val,
+					int n_elements);
+void g_dbus_dict_append_array(DBusMessageIter *dict,
+					const char *key, int type, void *val,
+					int n_elements);
+
 typedef void (* GDBusSetupFunction) (DBusMessageIter *iter, void *user_data);
 typedef void (* GDBusReturnFunction) (DBusMessage *message, void *user_data);
 
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 2/9] obexd: Use g_dbus_dict_append_entry()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
  2018-02-28  7:37 ` [PATCH BlueZ 1/9] gdbus: Introduce " ERAMOTO Masaya
@ 2018-02-28  7:37 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 3/9] obexd: Remove unused source/header files for dbus ERAMOTO Masaya
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:37 UTC (permalink / raw)
  To: linux-bluetooth

---
 obexd/client/ftp.c        |  6 +++---
 obexd/client/map.c        |  5 +++--
 obexd/plugins/bluetooth.c | 40 +++-------------------------------------
 3 files changed, 9 insertions(+), 42 deletions(-)

diff --git a/obexd/client/ftp.c b/obexd/client/ftp.c
index 3628657d3..f4923b304 100644
--- a/obexd/client/ftp.c
+++ b/obexd/client/ftp.c
@@ -115,7 +115,7 @@ static void xml_element(GMarkupParseContext *ctxt,
 			DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING
 			DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
 
-	obex_dbus_dict_append(&dict, "Type", DBUS_TYPE_STRING, &element);
+	g_dbus_dict_append_entry(&dict, "Type", DBUS_TYPE_STRING, &element);
 
 	/* FIXME: User, Group, Other permission must be reviewed */
 
@@ -125,10 +125,10 @@ static void xml_element(GMarkupParseContext *ctxt,
 		if (g_str_equal("Size", key) == TRUE) {
 			guint64 size;
 			size = g_ascii_strtoll(values[i], NULL, 10);
-			obex_dbus_dict_append(&dict, key, DBUS_TYPE_UINT64,
+			g_dbus_dict_append_entry(&dict, key, DBUS_TYPE_UINT64,
 								&size);
 		} else
-			obex_dbus_dict_append(&dict, key, DBUS_TYPE_STRING,
+			g_dbus_dict_append_entry(&dict, key, DBUS_TYPE_STRING,
 								&values[i]);
 	}
 
diff --git a/obexd/client/map.c b/obexd/client/map.c
index 4c6d67629..d1c897677 100644
--- a/obexd/client/map.c
+++ b/obexd/client/map.c
@@ -231,8 +231,9 @@ static void folder_element(GMarkupParseContext *ctxt, const char *element,
 
 	for (i = 0, key = names[i]; key; key = names[++i]) {
 		if (strcasecmp("name", key) == 0)
-			obex_dbus_dict_append(&dict, "Name", DBUS_TYPE_STRING,
-								&values[i]);
+			g_dbus_dict_append_entry(&dict, "Name",
+							DBUS_TYPE_STRING,
+							&values[i]);
 	}
 
 	dbus_message_iter_close_container(iter, &dict);
diff --git a/obexd/plugins/bluetooth.c b/obexd/plugins/bluetooth.c
index d6028d114..ba1e0a99a 100644
--- a/obexd/plugins/bluetooth.c
+++ b/obexd/plugins/bluetooth.c
@@ -231,40 +231,6 @@ static void profile_free(void *data)
 	g_free(profile);
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-
-static void dict_append_entry(DBusMessageIter *dict,
-			const char *key, int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
 static int register_profile(struct bluetooth_profile *profile)
 {
 	DBusMessage *msg;
@@ -303,7 +269,7 @@ static int register_profile(struct bluetooth_profile *profile)
 					DBUS_TYPE_VARIANT_AS_STRING
 					DBUS_DICT_ENTRY_END_CHAR_AS_STRING,
 					&opt);
-	dict_append_entry(&opt, "AutoConnect", DBUS_TYPE_BOOLEAN,
+	g_dbus_dict_append_entry(&opt, "AutoConnect", DBUS_TYPE_BOOLEAN,
 								&auto_connect);
 	if (profile->driver->record) {
 		if (profile->driver->port != 0)
@@ -315,8 +281,8 @@ static int register_profile(struct bluetooth_profile *profile)
 			xml = g_markup_printf_escaped(profile->driver->record,
 						profile->driver->channel,
 						profile->driver->name);
-		dict_append_entry(&opt, "ServiceRecord", DBUS_TYPE_STRING,
-								&xml);
+		g_dbus_dict_append_entry(&opt, "ServiceRecord",
+						DBUS_TYPE_STRING, &xml);
 		g_free(xml);
 	}
 	dbus_message_iter_close_container(&iter, &opt);
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 3/9] obexd: Remove unused source/header files for dbus
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
  2018-02-28  7:37 ` [PATCH BlueZ 1/9] gdbus: Introduce " ERAMOTO Masaya
  2018-02-28  7:37 ` [PATCH BlueZ 2/9] obexd: Use g_dbus_dict_append_entry() ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 4/9] client: Use g_dbus_dict_append_*() ERAMOTO Masaya
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

Due to using g_dbus_emit_property_changed() and g_dbus_get_properties(),
obex_dbus_signal_property_changed() is unused since commit 96063756
("obex-client: Rename org.bluez.obex.Transfer to Transfer1"), and
OBC_PROPERTIES_ARRAY_SIGNATURE macro is unused since commit 3eadc034
("obex-client: Make use of g_dbus_get_properties to get transfer properties").
---
 Makefile.obexd          |  1 -
 obexd/client/dbus.c     | 94 -------------------------------------------------
 obexd/client/dbus.h     | 48 -------------------------
 obexd/client/ftp.c      |  1 -
 obexd/client/map.c      |  1 -
 obexd/client/session.c  |  1 -
 obexd/client/transfer.c |  1 -
 7 files changed, 147 deletions(-)
 delete mode 100644 obexd/client/dbus.c
 delete mode 100644 obexd/client/dbus.h

diff --git a/Makefile.obexd b/Makefile.obexd
index 2e33cbc72..5959f2292 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -76,7 +76,6 @@ obexd_src_obexd_SOURCES = $(btio_sources) $(gobex_sources) \
 			obexd/client/map-event.h obexd/client/map-event.c \
 			obexd/client/transfer.h obexd/client/transfer.c \
 			obexd/client/transport.h obexd/client/transport.c \
-			obexd/client/dbus.h obexd/client/dbus.c \
 			obexd/client/driver.h obexd/client/driver.c \
 			obexd/src/map_ap.h
 obexd_src_obexd_LDADD = lib/libbluetooth-internal.la \
diff --git a/obexd/client/dbus.c b/obexd/client/dbus.c
deleted file mode 100644
index bfe5c4974..000000000
--- a/obexd/client/dbus.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- *
- *  OBEX Client
- *
- *  Copyright (C) 2008-2011  Intel Corporation. All rights reserved.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <glib.h>
-
-#include "gdbus/gdbus.h"
-
-#include "obexd/src/log.h"
-#include "dbus.h"
-
-static void append_variant(DBusMessageIter *iter,
-				int type, void *value)
-{
-	char sig[2];
-	DBusMessageIter valueiter;
-
-	sig[0] = type;
-	sig[1] = 0;
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
-						sig, &valueiter);
-
-	dbus_message_iter_append_basic(&valueiter, type, value);
-
-	dbus_message_iter_close_container(iter, &valueiter);
-}
-
-void obex_dbus_dict_append(DBusMessageIter *dict,
-			const char *key, int type, void *value)
-{
-	DBusMessageIter keyiter;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) value);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &keyiter);
-
-	dbus_message_iter_append_basic(&keyiter, DBUS_TYPE_STRING, &key);
-
-	append_variant(&keyiter, type, value);
-
-	dbus_message_iter_close_container(dict, &keyiter);
-}
-
-int obex_dbus_signal_property_changed(DBusConnection *conn,
-					const char *path,
-					const char *interface,
-					const char *name,
-					int type, void *value)
-{
-	DBusMessage *signal;
-	DBusMessageIter iter;
-
-	signal = dbus_message_new_signal(path, interface, "PropertyChanged");
-	if (signal == NULL) {
-		error("Unable to allocate new %s.PropertyChanged signal",
-				interface);
-		return -1;
-	}
-
-	dbus_message_iter_init_append(signal, &iter);
-
-	dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &name);
-
-	append_variant(&iter, type, value);
-
-	return g_dbus_send_message(conn, signal);
-}
diff --git a/obexd/client/dbus.h b/obexd/client/dbus.h
deleted file mode 100644
index 6136bf58e..000000000
--- a/obexd/client/dbus.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- *
- *  OBEX Client
- *
- *  Copyright (C) 2008-2011  Intel Corporation. All rights reserved.
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License version 2 as
- *  published by the Free Software Foundation.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program; if not, write to the Free Software
- *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- *
- */
-
-#ifndef __OBEX_DBUS_H
-#define __OBEX_DBUS_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <dbus/dbus.h>
-
-/* Essentially a{sv} */
-#define OBC_PROPERTIES_ARRAY_SIGNATURE DBUS_DICT_ENTRY_BEGIN_CHAR_AS_STRING \
-					DBUS_TYPE_STRING_AS_STRING \
-					DBUS_TYPE_VARIANT_AS_STRING \
-					DBUS_DICT_ENTRY_END_CHAR_AS_STRING
-
-void obex_dbus_dict_append(DBusMessageIter *dict, const char *key, int type,
-				void *value);
-
-int obex_dbus_signal_property_changed(DBusConnection *conn, const char *path,
-					const char *interface, const char *name,
-					int type, void *value);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __OBEX_DBUS_H */
diff --git a/obexd/client/ftp.c b/obexd/client/ftp.c
index f4923b304..d799821b1 100644
--- a/obexd/client/ftp.c
+++ b/obexd/client/ftp.c
@@ -31,7 +31,6 @@
 #include "gdbus/gdbus.h"
 
 #include "obexd/src/log.h"
-#include "dbus.h"
 #include "transfer.h"
 #include "session.h"
 #include "driver.h"
diff --git a/obexd/client/map.c b/obexd/client/map.c
index d1c897677..3e581c8ee 100644
--- a/obexd/client/map.c
+++ b/obexd/client/map.c
@@ -40,7 +40,6 @@
 
 #include "obexd/src/log.h"
 #include "obexd/src/map_ap.h"
-#include "dbus.h"
 #include "map-event.h"
 
 #include "map.h"
diff --git a/obexd/client/session.c b/obexd/client/session.c
index 5f981bf54..4eda255d1 100644
--- a/obexd/client/session.c
+++ b/obexd/client/session.c
@@ -40,7 +40,6 @@
 #include "gobex/gobex.h"
 
 #include "obexd/src/log.h"
-#include "dbus.h"
 #include "transfer.h"
 #include "session.h"
 #include "driver.h"
diff --git a/obexd/client/transfer.c b/obexd/client/transfer.c
index 092e72fe2..b53dffa21 100644
--- a/obexd/client/transfer.c
+++ b/obexd/client/transfer.c
@@ -41,7 +41,6 @@
 #include "gobex/gobex.h"
 
 #include "obexd/src/log.h"
-#include "dbus.h"
 #include "transfer.h"
 
 #define TRANSFER_INTERFACE "org.bluez.obex.Transfer1"
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 4/9] client: Use g_dbus_dict_append_*()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (2 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 3/9] obexd: Remove unused source/header files for dbus ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 5/9] mesh: Use g_dbus_dict_append_{entry,array}() ERAMOTO Masaya
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 client/advertising.c |  58 ++----------------------------
 client/main.c        | 100 +++++----------------------------------------------
 2 files changed, 11 insertions(+), 147 deletions(-)

diff --git a/client/advertising.c b/client/advertising.c
index 3cfc318ba..4481df180 100644
--- a/client/advertising.c
+++ b/client/advertising.c
@@ -235,59 +235,6 @@ static gboolean get_uuids(const GDBusPropertyTable *property,
 	return TRUE;
 }
 
-static void append_array_variant(DBusMessageIter *iter, int type, void *val,
-							int n_elements)
-{
-	DBusMessageIter variant, array;
-	char type_sig[2] = { type, '\0' };
-	char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
-						array_sig, &variant);
-
-	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
-						type_sig, &array);
-
-	if (dbus_type_is_fixed(type) == TRUE) {
-		dbus_message_iter_append_fixed_array(&array, type, val,
-							n_elements);
-	} else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
-		const char ***str_array = val;
-		int i;
-
-		for (i = 0; i < n_elements; i++)
-			dbus_message_iter_append_basic(&array, type,
-							&((*str_array)[i]));
-	}
-
-	dbus_message_iter_close_container(&variant, &array);
-
-	dbus_message_iter_close_container(iter, &variant);
-}
-
-static void dict_append_basic_array(DBusMessageIter *dict, int key_type,
-					const void *key, int type, void *val,
-					int n_elements)
-{
-	DBusMessageIter entry;
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-						NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, key_type, key);
-
-	append_array_variant(&entry, type, val, n_elements);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
-static void dict_append_array(DBusMessageIter *dict, const char *key, int type,
-				void *val, int n_elements)
-{
-	dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val,
-								n_elements);
-}
-
 static gboolean service_data_exists(const GDBusPropertyTable *property,
 								void *data)
 {
@@ -303,7 +250,7 @@ static gboolean get_service_data(const GDBusPropertyTable *property,
 
 	dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{sv}", &dict);
 
-	dict_append_array(&dict, ad.service.uuid, DBUS_TYPE_BYTE, &val,
+	g_dbus_dict_append_array(&dict, ad.service.uuid, DBUS_TYPE_BYTE, &val,
 								data->len);
 
 	dbus_message_iter_close_container(iter, &dict);
@@ -326,7 +273,8 @@ static gboolean get_manufacturer_data(const GDBusPropertyTable *property,
 
 	dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "{qv}", &dict);
 
-	dict_append_basic_array(&dict, DBUS_TYPE_UINT16, &ad.manufacturer.id,
+	g_dbus_dict_append_basic_array(&dict, DBUS_TYPE_UINT16,
+					&ad.manufacturer.id,
 					DBUS_TYPE_BYTE, &val, data->len);
 
 	dbus_message_iter_close_container(iter, &dict);
diff --git a/client/main.c b/client/main.c
index 962f3383b..a689027af 100644
--- a/client/main.c
+++ b/client/main.c
@@ -1091,93 +1091,6 @@ static void start_discovery_reply(DBusMessage *message, void *user_data)
 	bt_shell_printf("Discovery %s\n", enable == TRUE ? "started" : "stopped");
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void append_array_variant(DBusMessageIter *iter, int type, void *val,
-							int n_elements)
-{
-	DBusMessageIter variant, array;
-	char type_sig[2] = { type, '\0' };
-	char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
-						array_sig, &variant);
-
-	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
-						type_sig, &array);
-
-	if (dbus_type_is_fixed(type) == TRUE) {
-		dbus_message_iter_append_fixed_array(&array, type, val,
-							n_elements);
-	} else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
-		const char ***str_array = val;
-		int i;
-
-		for (i = 0; i < n_elements; i++)
-			dbus_message_iter_append_basic(&array, type,
-							&((*str_array)[i]));
-	}
-
-	dbus_message_iter_close_container(&variant, &array);
-
-	dbus_message_iter_close_container(iter, &variant);
-}
-
-static void dict_append_entry(DBusMessageIter *dict, const char *key,
-							int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
-static void dict_append_basic_array(DBusMessageIter *dict, int key_type,
-					const void *key, int type, void *val,
-					int n_elements)
-{
-	DBusMessageIter entry;
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-						NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, key_type, key);
-
-	append_array_variant(&entry, type, val, n_elements);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
-static void dict_append_array(DBusMessageIter *dict, const char *key, int type,
-						void *val, int n_elements)
-{
-	dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val,
-								n_elements);
-}
-
 #define	DISTANCE_VAL_INVALID	0x7FFF
 
 static struct set_discovery_filter_args {
@@ -1205,22 +1118,25 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
 				DBUS_TYPE_VARIANT_AS_STRING
 				DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
 
-	dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING, &args->uuids,
+	g_dbus_dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING,
+							&args->uuids,
 							args->uuids_len);
 
 	if (args->pathloss != DISTANCE_VAL_INVALID)
-		dict_append_entry(&dict, "Pathloss", DBUS_TYPE_UINT16,
+		g_dbus_dict_append_entry(&dict, "Pathloss", DBUS_TYPE_UINT16,
 						&args->pathloss);
 
 	if (args->rssi != DISTANCE_VAL_INVALID)
-		dict_append_entry(&dict, "RSSI", DBUS_TYPE_INT16, &args->rssi);
+		g_dbus_dict_append_entry(&dict, "RSSI", DBUS_TYPE_INT16,
+						&args->rssi);
 
 	if (args->transport != NULL)
-		dict_append_entry(&dict, "Transport", DBUS_TYPE_STRING,
+		g_dbus_dict_append_entry(&dict, "Transport", DBUS_TYPE_STRING,
 						&args->transport);
 
 	if (args->duplicate)
-		dict_append_entry(&dict, "DuplicateData", DBUS_TYPE_BOOLEAN,
+		g_dbus_dict_append_entry(&dict, "DuplicateData",
+						DBUS_TYPE_BOOLEAN,
 						&args->duplicate);
 
 	dbus_message_iter_close_container(iter, &dict);
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 5/9] mesh: Use g_dbus_dict_append_{entry,array}()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (3 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 4/9] client: Use g_dbus_dict_append_*() ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 6/9] tools/obexctl: Use g_dbus_dict_append_entry() ERAMOTO Masaya
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 mesh/main.c | 100 +++++-------------------------------------------------------
 1 file changed, 8 insertions(+), 92 deletions(-)

diff --git a/mesh/main.c b/mesh/main.c
index b5ec4bcd5..000e6b451 100644
--- a/mesh/main.c
+++ b/mesh/main.c
@@ -1397,93 +1397,6 @@ static void cmd_power(int argc, char *argv[])
 	g_free(str);
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void append_array_variant(DBusMessageIter *iter, int type, void *val,
-							int n_elements)
-{
-	DBusMessageIter variant, array;
-	char type_sig[2] = { type, '\0' };
-	char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
-						array_sig, &variant);
-
-	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
-						type_sig, &array);
-
-	if (dbus_type_is_fixed(type) == TRUE) {
-		dbus_message_iter_append_fixed_array(&array, type, val,
-							n_elements);
-	} else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
-		const char ***str_array = val;
-		int i;
-
-		for (i = 0; i < n_elements; i++)
-			dbus_message_iter_append_basic(&array, type,
-							&((*str_array)[i]));
-	}
-
-	dbus_message_iter_close_container(&variant, &array);
-
-	dbus_message_iter_close_container(iter, &variant);
-}
-
-static void dict_append_entry(DBusMessageIter *dict, const char *key,
-							int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
-static void dict_append_basic_array(DBusMessageIter *dict, int key_type,
-					const void *key, int type, void *val,
-					int n_elements)
-{
-	DBusMessageIter entry;
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-						NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, key_type, key);
-
-	append_array_variant(&entry, type, val, n_elements);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
-static void dict_append_array(DBusMessageIter *dict, const char *key, int type,
-						void *val, int n_elements)
-{
-	dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val,
-								n_elements);
-}
-
 #define	DISTANCE_VAL_INVALID	0x7FFF
 
 struct set_discovery_filter_args {
@@ -1506,21 +1419,24 @@ static void set_discovery_filter_setup(DBusMessageIter *iter, void *user_data)
 				DBUS_TYPE_VARIANT_AS_STRING
 				DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
 
-	dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING, &args->uuids,
+	g_dbus_dict_append_array(&dict, "UUIDs", DBUS_TYPE_STRING,
+							&args->uuids,
 							args->uuids_len);
 
 	if (args->pathloss != DISTANCE_VAL_INVALID)
-		dict_append_entry(&dict, "Pathloss", DBUS_TYPE_UINT16,
+		g_dbus_dict_append_entry(&dict, "Pathloss", DBUS_TYPE_UINT16,
 						&args->pathloss);
 
 	if (args->rssi != DISTANCE_VAL_INVALID)
-		dict_append_entry(&dict, "RSSI", DBUS_TYPE_INT16, &args->rssi);
+		g_dbus_dict_append_entry(&dict, "RSSI", DBUS_TYPE_INT16,
+						&args->rssi);
 
 	if (args->transport != NULL)
-		dict_append_entry(&dict, "Transport", DBUS_TYPE_STRING,
+		g_dbus_dict_append_entry(&dict, "Transport", DBUS_TYPE_STRING,
 						&args->transport);
 	if (args->duplicate)
-		dict_append_entry(&dict, "DuplicateData", DBUS_TYPE_BOOLEAN,
+		g_dbus_dict_append_entry(&dict, "DuplicateData",
+						DBUS_TYPE_BOOLEAN,
 						&args->duplicate);
 
 	dbus_message_iter_close_container(iter, &dict);
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 6/9] tools/obexctl: Use g_dbus_dict_append_entry()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (4 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 5/9] mesh: Use g_dbus_dict_append_{entry,array}() ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 7/9] tools/bluetooth-player: " ERAMOTO Masaya
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 tools/obexctl.c | 36 ++----------------------------------
 1 file changed, 2 insertions(+), 34 deletions(-)

diff --git a/tools/obexctl.c b/tools/obexctl.c
index b6333842e..c197f5e5d 100644
--- a/tools/obexctl.c
+++ b/tools/obexctl.c
@@ -121,39 +121,6 @@ static void connect_reply(DBusMessage *message, void *user_data)
 	bt_shell_printf("Connection successful\n");
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void dict_append_entry(DBusMessageIter *dict, const char *key,
-							int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
 struct connect_args {
 	char *dev;
 	char *target;
@@ -185,7 +152,8 @@ static void connect_setup(DBusMessageIter *iter, void *user_data)
 	if (args->target == NULL)
 		goto done;
 
-	dict_append_entry(&dict, "Target", DBUS_TYPE_STRING, &args->target);
+	g_dbus_dict_append_entry(&dict, "Target",
+					DBUS_TYPE_STRING, &args->target);
 
 done:
 	dbus_message_iter_close_container(iter, &dict);
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 7/9] tools/bluetooth-player: Use g_dbus_dict_append_entry()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (5 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 6/9] tools/obexctl: Use g_dbus_dict_append_entry() ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 8/9] unit/test-gdbus-client: " ERAMOTO Masaya
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 tools/bluetooth-player.c | 38 +++-----------------------------------
 1 file changed, 3 insertions(+), 35 deletions(-)

diff --git a/tools/bluetooth-player.c b/tools/bluetooth-player.c
index 32ae4f6bb..074edfee9 100644
--- a/tools/bluetooth-player.c
+++ b/tools/bluetooth-player.c
@@ -702,39 +702,6 @@ static void cmd_change_folder(int argc, char *argv[])
 	bt_shell_printf("Attempting to change folder\n");
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void dict_append_entry(DBusMessageIter *dict,
-			const char *key, int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
 struct list_items_args {
 	int start;
 	int end;
@@ -755,12 +722,13 @@ static void list_items_setup(DBusMessageIter *iter, void *user_data)
 	if (args->start < 0)
 		goto done;
 
-	dict_append_entry(&dict, "Start", DBUS_TYPE_UINT32, &args->start);
+	g_dbus_dict_append_entry(&dict, "Start",
+					DBUS_TYPE_UINT32, &args->start);
 
 	if (args->end < 0)
 		goto done;
 
-	dict_append_entry(&dict, "End", DBUS_TYPE_UINT32, &args->end);
+	g_dbus_dict_append_entry(&dict, "End", DBUS_TYPE_UINT32, &args->end);
 
 done:
 	dbus_message_iter_close_container(iter, &dict);
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 8/9] unit/test-gdbus-client: Use g_dbus_dict_append_entry()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (6 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 7/9] tools/bluetooth-player: " ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28  7:38 ` [PATCH BlueZ 9/9] dbus-common: Remove unused functions due to use of g_dbus_dict_append_*() ERAMOTO Masaya
  2018-02-28 16:11 ` [PATCH BlueZ 0/9] Commonalize functions appending to dbus message Luiz Augusto von Dentz
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 unit/test-gdbus-client.c | 38 +++-----------------------------------
 1 file changed, 3 insertions(+), 35 deletions(-)

diff --git a/unit/test-gdbus-client.c b/unit/test-gdbus-client.c
index dd17c00f7..a2c88f309 100644
--- a/unit/test-gdbus-client.c
+++ b/unit/test-gdbus-client.c
@@ -178,39 +178,6 @@ static void client_connect_disconnect(const void *data)
 								context);
 }
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void dict_append_entry(DBusMessageIter *dict, const char *key, int type,
-								void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, DBUS_TYPE_STRING, &key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-}
-
 static gboolean get_dict(const GDBusPropertyTable *property,
 					DBusMessageIter *iter, void *data)
 {
@@ -223,8 +190,9 @@ static gboolean get_dict(const GDBusPropertyTable *property,
 			DBUS_TYPE_STRING_AS_STRING DBUS_TYPE_VARIANT_AS_STRING
 			DBUS_DICT_ENTRY_END_CHAR_AS_STRING, &dict);
 
-	dict_append_entry(&dict, "String", DBUS_TYPE_STRING, &string);
-	dict_append_entry(&dict, "Boolean", DBUS_TYPE_BOOLEAN, &boolean);
+	g_dbus_dict_append_entry(&dict, "String", DBUS_TYPE_STRING, &string);
+	g_dbus_dict_append_entry(&dict, "Boolean",
+					DBUS_TYPE_BOOLEAN, &boolean);
 
 	dbus_message_iter_close_container(iter, &dict);
 
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH BlueZ 9/9] dbus-common: Remove unused functions due to use of g_dbus_dict_append_*()
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (7 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 8/9] unit/test-gdbus-client: " ERAMOTO Masaya
@ 2018-02-28  7:38 ` ERAMOTO Masaya
  2018-02-28 16:11 ` [PATCH BlueZ 0/9] Commonalize functions appending to dbus message Luiz Augusto von Dentz
  9 siblings, 0 replies; 11+ messages in thread
From: ERAMOTO Masaya @ 2018-02-28  7:38 UTC (permalink / raw)
  To: linux-bluetooth

---
 src/dbus-common.c | 85 ++-----------------------------------------------------
 src/dbus-common.h |  6 ----
 src/device.c      |  3 +-
 3 files changed, 4 insertions(+), 90 deletions(-)

diff --git a/src/dbus-common.c b/src/dbus-common.c
index adb0a7a4e..6e2097a2d 100644
--- a/src/dbus-common.c
+++ b/src/dbus-common.c
@@ -41,97 +41,16 @@
 
 static DBusConnection *connection = NULL;
 
-static void append_variant(DBusMessageIter *iter, int type, void *val)
-{
-	DBusMessageIter value;
-	char sig[2] = { type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT, sig, &value);
-
-	dbus_message_iter_append_basic(&value, type, val);
-
-	dbus_message_iter_close_container(iter, &value);
-}
-
-static void append_array_variant(DBusMessageIter *iter, int type, void *val,
-							int n_elements)
-{
-	DBusMessageIter variant, array;
-	char type_sig[2] = { type, '\0' };
-	char array_sig[3] = { DBUS_TYPE_ARRAY, type, '\0' };
-
-	dbus_message_iter_open_container(iter, DBUS_TYPE_VARIANT,
-						array_sig, &variant);
-
-	dbus_message_iter_open_container(&variant, DBUS_TYPE_ARRAY,
-						type_sig, &array);
-
-	if (dbus_type_is_fixed(type) == TRUE) {
-		dbus_message_iter_append_fixed_array(&array, type, val,
-							n_elements);
-	} else if (type == DBUS_TYPE_STRING || type == DBUS_TYPE_OBJECT_PATH) {
-		const char ***str_array = val;
-		int i;
-
-		for (i = 0; i < n_elements; i++)
-			dbus_message_iter_append_basic(&array, type,
-							&((*str_array)[i]));
-	}
-
-	dbus_message_iter_close_container(&variant, &array);
-
-	dbus_message_iter_close_container(iter, &variant);
-}
-
-void dict_append_basic(DBusMessageIter *dict, int key_type, const void *key,
-						int type, void *val)
-{
-	DBusMessageIter entry;
-
-	if (type == DBUS_TYPE_STRING) {
-		const char *str = *((const char **) val);
-		if (str == NULL)
-			return;
-	}
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-							NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, key_type, key);
-
-	append_variant(&entry, type, val);
-
-	dbus_message_iter_close_container(dict, &entry);
-
-}
-
 void dict_append_entry(DBusMessageIter *dict,
 			const char *key, int type, void *val)
 {
-	dict_append_basic(dict, DBUS_TYPE_STRING, &key, type, val);
-}
-
-void dict_append_basic_array(DBusMessageIter *dict, int key_type,
-					const void *key, int type, void *val,
-					int n_elements)
-{
-	DBusMessageIter entry;
-
-	dbus_message_iter_open_container(dict, DBUS_TYPE_DICT_ENTRY,
-						NULL, &entry);
-
-	dbus_message_iter_append_basic(&entry, key_type, key);
-
-	append_array_variant(&entry, type, val, n_elements);
-
-	dbus_message_iter_close_container(dict, &entry);
+	g_dbus_dict_append_entry(dict, key, type, val);
 }
 
 void dict_append_array(DBusMessageIter *dict, const char *key, int type,
 			void *val, int n_elements)
 {
-	dict_append_basic_array(dict, DBUS_TYPE_STRING, &key, type, val,
-								n_elements);
+	g_dbus_dict_append_array(dict, key, type, val, n_elements);
 }
 
 void set_dbus_connection(DBusConnection *conn)
diff --git a/src/dbus-common.h b/src/dbus-common.h
index 2e7d51e84..fbf4acd28 100644
--- a/src/dbus-common.h
+++ b/src/dbus-common.h
@@ -21,14 +21,8 @@
  *
  */
 
-void dict_append_basic(DBusMessageIter *dict, int key_type, const void *key,
-						int type, void *val);
 void dict_append_entry(DBusMessageIter *dict,
 			const char *key, int type, void *val);
-
-void dict_append_basic_array(DBusMessageIter *dict, int key_type,
-					const void *key, int type, void *val,
-					int n_elements);
 void dict_append_array(DBusMessageIter *dict, const char *key, int type,
 			void *val, int n_elements);
 
diff --git a/src/device.c b/src/device.c
index 1b84040dd..8eb99e4bd 100644
--- a/src/device.c
+++ b/src/device.c
@@ -1199,7 +1199,8 @@ static void append_manufacturer_data(void *data, void *user_data)
 	struct bt_ad_manufacturer_data *md = data;
 	DBusMessageIter *dict = user_data;
 
-	dict_append_basic_array(dict, DBUS_TYPE_UINT16, &md->manufacturer_id,
+	g_dbus_dict_append_basic_array(dict,
+				DBUS_TYPE_UINT16, &md->manufacturer_id,
 				DBUS_TYPE_BYTE, &md->data, md->len);
 }
 
-- 
2.14.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH BlueZ 0/9] Commonalize functions appending to dbus message
  2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
                   ` (8 preceding siblings ...)
  2018-02-28  7:38 ` [PATCH BlueZ 9/9] dbus-common: Remove unused functions due to use of g_dbus_dict_append_*() ERAMOTO Masaya
@ 2018-02-28 16:11 ` Luiz Augusto von Dentz
  9 siblings, 0 replies; 11+ messages in thread
From: Luiz Augusto von Dentz @ 2018-02-28 16:11 UTC (permalink / raw)
  To: ERAMOTO Masaya; +Cc: linux-bluetooth

Hi Eramoto,

On Wed, Feb 28, 2018 at 9:33 AM, ERAMOTO Masaya
<eramoto.masaya@jp.fujitsu.com> wrote:
> To improve maintainability, this patch set introduces common functions
> for appending to dbus message.
>
> ERAMOTO Masaya (9):
>   gdbus: Introduce functions appending to dbus message
>   obexd: Use g_dbus_dict_append_entry()
>   obexd: Remove unused source/header files for dbus
>   client: Use g_dbus_dict_append_*()
>   mesh: Use g_dbus_dict_append_{entry,array}()
>   tools/obexctl: Use g_dbus_dict_append_entry()
>   tools/bluetooth-player: Use g_dbus_dict_append_entry()
>   unit/test-gdbus-client: Use g_dbus_dict_append_entry()
>   dbus-common: Remove unused functions due to use of g_dbus_dict_append_*()
>
>  Makefile.obexd            |   1 -
>  client/advertising.c      |  58 ++------------------
>  client/main.c             | 100 +++-------------------------------
>  gdbus/client.c            | 135 +++++++++++++++++++++++++++++++++-------------
>  gdbus/gdbus.h             |   9 ++++
>  mesh/main.c               | 100 +++-------------------------------
>  obexd/client/dbus.c       |  94 --------------------------------
>  obexd/client/dbus.h       |  48 -----------------
>  obexd/client/ftp.c        |   7 ++-
>  obexd/client/map.c        |   6 +--
>  obexd/client/session.c    |   1 -
>  obexd/client/transfer.c   |   1 -
>  obexd/plugins/bluetooth.c |  40 ++------------
>  src/dbus-common.c         |  85 +----------------------------
>  src/dbus-common.h         |   6 ---
>  src/device.c              |   3 +-
>  tools/bluetooth-player.c  |  38 ++-----------
>  tools/obexctl.c           |  36 +------------
>  unit/test-gdbus-client.c  |  38 ++-----------
>  19 files changed, 146 insertions(+), 660 deletions(-)
>  delete mode 100644 obexd/client/dbus.c
>  delete mode 100644 obexd/client/dbus.h
>
> --
> 2.14.1

You will probably need to rebase since Ive pushed my changes to some
of the command line tools you have changes against, but otherwise this
set looks very good, so lets try to get the conflicts fixed.

-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-02-28 16:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-28  7:33 [PATCH BlueZ 0/9] Commonalize functions appending to dbus message ERAMOTO Masaya
2018-02-28  7:37 ` [PATCH BlueZ 1/9] gdbus: Introduce " ERAMOTO Masaya
2018-02-28  7:37 ` [PATCH BlueZ 2/9] obexd: Use g_dbus_dict_append_entry() ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 3/9] obexd: Remove unused source/header files for dbus ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 4/9] client: Use g_dbus_dict_append_*() ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 5/9] mesh: Use g_dbus_dict_append_{entry,array}() ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 6/9] tools/obexctl: Use g_dbus_dict_append_entry() ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 7/9] tools/bluetooth-player: " ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 8/9] unit/test-gdbus-client: " ERAMOTO Masaya
2018-02-28  7:38 ` [PATCH BlueZ 9/9] dbus-common: Remove unused functions due to use of g_dbus_dict_append_*() ERAMOTO Masaya
2018-02-28 16:11 ` [PATCH BlueZ 0/9] Commonalize functions appending to dbus message Luiz Augusto von Dentz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.