summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orlenko <zxteam@gmail.com>2010-08-03 22:25:56 +1100
committerAlexander Orlenko <zxteam@gmail.com>2010-08-03 22:25:56 +1100
commit0481758ed2da4de6f4f92295dad91e0c07c6e316 (patch)
tree2a41d7d483d0935dffbf6d0e1178e8d9a63d534b
parenta3829c5c961ac8ba2e90761ce9a07db702501a3a (diff)
downloadbluez-tools-0481758ed2da4de6f4f92295dad91e0c07c6e316.tar.gz
Some improvements for better support of OBEX
-rwxr-xr-xcontrib/gen-dbus-gobject.pl11
-rw-r--r--src/Makefile.am20
-rw-r--r--src/bt-obex.c109
-rw-r--r--src/lib/adapter.c4
-rw-r--r--src/lib/audio.c4
-rw-r--r--src/lib/bluez-dbus.h7
-rw-r--r--src/lib/dbus-common.c4
-rw-r--r--src/lib/dbus-common.h1
-rw-r--r--src/lib/device.c4
-rw-r--r--src/lib/helpers.c44
-rw-r--r--src/lib/helpers.h17
-rw-r--r--src/lib/input.c4
-rw-r--r--src/lib/manager.c4
-rw-r--r--src/lib/marshallers.c79
-rw-r--r--src/lib/marshallers.h28
-rw-r--r--src/lib/marshallers.list5
-rw-r--r--src/lib/network.c4
-rw-r--r--src/lib/network_hub.c4
-rw-r--r--src/lib/network_peer.c4
-rw-r--r--src/lib/network_router.c4
-rw-r--r--src/lib/obexmanager.c4
-rw-r--r--src/lib/obexserver.c4
-rw-r--r--src/lib/obexserver_session.c4
-rw-r--r--src/lib/obexsession.c4
-rw-r--r--src/lib/serial.c4
25 files changed, 297 insertions, 84 deletions
diff --git a/contrib/gen-dbus-gobject.pl b/contrib/gen-dbus-gobject.pl
index 8095a91..7ff247b 100755
--- a/contrib/gen-dbus-gobject.pl
+++ b/contrib/gen-dbus-gobject.pl
@@ -55,7 +55,7 @@ sub parse_doc_api {
my $service = $1;
die "invalid file format (2)\n" unless $section eq 'hierarchy';
die "invalid service: $service\n" unless $service eq 'org.bluez' || $service eq 'org.openobex' || $service eq 'org.openobex.client';
- $data{'service'} = $service;
+ $data{'serviceName'} = $service;
} elsif (/^Interface\s*(.+)$/) {
my $intf = $1;
die "invalid file format (3)\n" unless $section eq 'hierarchy';
@@ -428,7 +428,7 @@ static void {\$object}_init({\$Object} *self)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_{\$OBJECT}_PATH, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, {DBUS_SERVICE_NAME}, BLUEZ_DBUS_{\$OBJECT}_PATH, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -442,7 +442,7 @@ static void {\$object}_init({\$Object} *self)
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_{\$OBJECT}_PATH, BLUEZ_DBUS_{\$OBJECT}_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, {DBUS_SERVICE_NAME}, BLUEZ_DBUS_{\$OBJECT}_PATH, BLUEZ_DBUS_{\$OBJECT}_INTERFACE);
{IF_SIGNALS}
/* DBus signals connection */
@@ -467,7 +467,7 @@ static void {\$object}_post_init({\$Object} *self, const gchar *dbus_object_path
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, {DBUS_SERVICE_NAME}, dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -480,7 +480,7 @@ static void {\$object}_post_init({\$Object} *self, const gchar *dbus_object_path
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_{\$OBJECT}_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, {DBUS_SERVICE_NAME}, dbus_object_path, BLUEZ_DBUS_{\$OBJECT}_INTERFACE);
{IF_SIGNALS}
/* DBus signals connection */
@@ -954,6 +954,7 @@ EOT
} else {
$output =~ s/\s+\{IF_ASYNC_CALLS\}.+?\{FI_ASYNC_CALLS\}//gs;
}
+ $output =~ s/{DBUS_SERVICE_NAME}/"$node->{'serviceName'}"/g;
$output =~ s/{ENUM_SIGNALS}/$enum_signals/;
$output =~ s/{SIGNALS_HANDLERS_DEF}/$signals_handlers_def/;
$output =~ s/{SIGNALS_REGISTRATION}/$signals_registration/;
diff --git a/src/Makefile.am b/src/Makefile.am
index 4e499fd..81878a2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,15 +1,15 @@
AM_CPPFLAGS = $(DBUS_CFLAGS) $(GLIB_CFLAGS) $(GOBJECT_CFLAGS) $(GIO_CFLAGS) $(DBUS_GLIB_CFLAGS)
AM_LDFLAGS = $(DBUS_LIBS) $(GLIB_LIBS) $(GOBJECT_LIBS) $(GIO_LIBS) $(DBUS_GLIB_LIBS)
-#BUILT_SOURCES = lib/marshallers.c lib/marshallers.h
-#
-#GENMARSHAL_FLAGS = --prefix="g_cclosure_bluez_marshal" --g-fatal-warnings
-#
-#lib/marshallers.h: lib/marshallers.list
-# glib-genmarshal $(GENMARSHAL_FLAGS) --header lib/marshallers.list > lib/marshallers.h
-#
-#lib/marshallers.c: lib/marshallers.list
-# glib-genmarshal $(GENMARSHAL_FLAGS) --body lib/marshallers.list > lib/marshallers.c
+BUILT_SOURCES = lib/marshallers.c lib/marshallers.h
+
+GENMARSHAL_FLAGS = --prefix="g_cclosure_bluez_marshal" --g-fatal-warnings
+
+lib/marshallers.h: lib/marshallers.list
+ glib-genmarshal $(GENMARSHAL_FLAGS) --header lib/marshallers.list > lib/marshallers.h
+
+lib/marshallers.c: lib/marshallers.list
+ glib-genmarshal $(GENMARSHAL_FLAGS) --body lib/marshallers.list > lib/marshallers.c
lib_sources = lib/marshallers.c lib/marshallers.h \
lib/dbus-common.c lib/dbus-common.h \
@@ -44,5 +44,5 @@ bt_network_SOURCES = $(lib_sources) bt-network.c
bt_serial_SOURCES = $(lib_sources) bt-serial.c
bt_obex_SOURCES = $(lib_sources) $(obex_sources) bt-obex.c
-#CLEANFILES = Makefile.in lib/marshallers.c lib/marshallers.h
+CLEANFILES = Makefile.in lib/marshallers.c lib/marshallers.h
diff --git a/src/bt-obex.c b/src/bt-obex.c
new file mode 100644
index 0000000..3743636
--- /dev/null
+++ b/src/bt-obex.c
@@ -0,0 +1,109 @@
+/*
+ *
+ * bluez-tools - a set of tools to manage bluetooth devices for linux
+ *
+ * Copyright (C) 2010 Alexander Orlenko <zxteam@gmail.com>
+ *
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 <stdlib.h>
+#include <string.h>
+#include <glib.h>
+
+#include "lib/bluez-dbus.h"
+
+static gchar *adapter_arg = NULL;
+static gchar *server_arg = NULL;
+
+static GOptionEntry entries[] = {
+ {"adapter", 'a', 0, G_OPTION_ARG_STRING, &adapter_arg, "Adapter name or MAC", "<name|mac>"},
+ {"server", 's', 0, G_OPTION_ARG_STRING, &server_arg, "Start OPP/FTP server", "<opp|ftp>"},
+ {NULL}
+};
+
+int main(int argc, char *argv[])
+{
+ GError *error = NULL;
+ GOptionContext *context;
+
+ g_type_init();
+
+ context = g_option_context_new(" - a bluetooth OBEX client/server");
+ g_option_context_add_main_entries(context, entries, NULL);
+ g_option_context_set_summary(context, "Version "PACKAGE_VERSION);
+ g_option_context_set_description(context,
+ //"Report bugs to <"PACKAGE_BUGREPORT">."
+ "Project home <"PACKAGE_URL">."
+ );
+
+ if (!g_option_context_parse(context, &argc, &argv, &error)) {
+ g_print("%s: %s\n", g_get_prgname(), error->message);
+ g_print("Try `%s --help` for more information.\n", g_get_prgname());
+ exit(EXIT_FAILURE);
+ } else if (!server_arg) {
+ g_print("%s", g_option_context_get_help(context, FALSE, NULL));
+ exit(EXIT_FAILURE);
+ } else if (server_arg && g_strcmp0(server_arg, "opp") != 0 && g_strcmp0(server_arg, "ftp") != 0) {
+ g_print("%s: Invalid server type\n", g_get_prgname());
+ g_print("Try `%s --help` for more information.\n", g_get_prgname());
+ exit(EXIT_FAILURE);
+ }
+
+ g_option_context_free(context);
+
+ if (!dbus_connect(&error)) {
+ g_printerr("Couldn't connect to dbus: %s\n", error->message);
+ exit(EXIT_FAILURE);
+ }
+
+ Adapter *adapter = find_adapter(adapter_arg, &error);
+ exit_if_error(error);
+
+ OBEXManager *obexmanager = g_object_new(OBEXMANAGER_TYPE, NULL);
+
+ if (server_arg) {
+ if (g_strcmp0(server_arg, "opp") == 0) {
+ gchar *opp_serv_path = obexmanager_create_bluetooth_server(obexmanager, adapter_get_address(adapter), server_arg, FALSE, error);
+ exit_if_error(error);
+
+ OBEXServer *serv = g_object_new(OBEXSERVER_TYPE, "DBusObjectPath", opp_serv_path, NULL);
+ obexserver_start(serv, "/home/zak/obex_t", TRUE, TRUE, error);
+ exit_if_error(error);
+
+ g_free(opp_serv_path);
+ } else if (g_strcmp0(server_arg, "ftp") == 0) {
+
+ }
+
+ GMainLoop *mainloop = g_main_loop_new(NULL, FALSE);
+ g_main_loop_run(mainloop);
+
+ g_main_loop_unref(mainloop);
+ }
+
+ g_object_unref(obexmanager);
+ g_object_unref(adapter);
+ dbus_disconnect();
+
+ exit(EXIT_SUCCESS);
+}
+
diff --git a/src/lib/adapter.c b/src/lib/adapter.c
index 0c14db8..2f7042f 100644
--- a/src/lib/adapter.c
+++ b/src/lib/adapter.c
@@ -244,7 +244,7 @@ static void adapter_post_init(Adapter *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -257,7 +257,7 @@ static void adapter_post_init(Adapter *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_ADAPTER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_ADAPTER_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/audio.c b/src/lib/audio.c
index d9574aa..602904a 100644
--- a/src/lib/audio.c
+++ b/src/lib/audio.c
@@ -135,7 +135,7 @@ static void audio_post_init(Audio *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -148,7 +148,7 @@ static void audio_post_init(Audio *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_AUDIO_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_AUDIO_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/bluez-dbus.h b/src/lib/bluez-dbus.h
index c5c8d03..47f46e2 100644
--- a/src/lib/bluez-dbus.h
+++ b/src/lib/bluez-dbus.h
@@ -47,4 +47,11 @@
#include "network_router.h"
#include "serial.h"
+/* OBEX DBus Interfaces */
+#include "obexmanager.h"
+#include "obexsession.h"
+#include "obexserver.h"
+#include "obexserver_session.h"
+
#endif /* __BLUEZ_DBUS_H */
+
diff --git a/src/lib/dbus-common.c b/src/lib/dbus-common.c
index d306b25..f80ea11 100644
--- a/src/lib/dbus-common.c
+++ b/src/lib/dbus-common.c
@@ -41,7 +41,11 @@ gboolean dbus_connect(GError **error)
/* Marshallers registration
* Used for signals
*/
+ dbus_g_object_register_marshaller(g_cclosure_bluez_marshal_VOID__UINT64, G_TYPE_NONE, G_TYPE_UINT64, G_TYPE_INVALID);
dbus_g_object_register_marshaller(g_cclosure_bluez_marshal_VOID__STRING_BOXED, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
+ dbus_g_object_register_marshaller(g_cclosure_bluez_marshal_VOID__STRING_STRING, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
+ dbus_g_object_register_marshaller(g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_INVALID);
+ dbus_g_object_register_marshaller(g_cclosure_bluez_marshal_VOID__BOXED_STRING_STRING, G_TYPE_NONE, G_TYPE_VALUE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID);
/* Agent installation */
dbus_g_object_type_install_info(AGENT_TYPE, &dbus_glib_agent_object_info);
diff --git a/src/lib/dbus-common.h b/src/lib/dbus-common.h
index 2358ffd..c6a38be 100644
--- a/src/lib/dbus-common.h
+++ b/src/lib/dbus-common.h
@@ -28,6 +28,7 @@
#include <dbus/dbus-glib.h>
#define BLUEZ_DBUS_NAME "org.bluez"
+#define OBEX_DBUS_NAME "org.openobex"
#define DBUS_TYPE_G_STRING_VARIANT_HASHTABLE (dbus_g_type_get_map("GHashTable", G_TYPE_STRING, G_TYPE_VALUE))
#define DBUS_TYPE_G_UINT_STRING_HASHTABLE (dbus_g_type_get_map("GHashTable", G_TYPE_UINT, G_TYPE_STRING))
diff --git a/src/lib/device.c b/src/lib/device.c
index cad503f..b5c0ee5 100644
--- a/src/lib/device.c
+++ b/src/lib/device.c
@@ -243,7 +243,7 @@ static void device_post_init(Device *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -256,7 +256,7 @@ static void device_post_init(Device *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_DEVICE_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_DEVICE_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/helpers.c b/src/lib/helpers.c
index 67a12f5..f9e64ca 100644
--- a/src/lib/helpers.c
+++ b/src/lib/helpers.c
@@ -236,44 +236,70 @@ gboolean intf_is_supported(const gchar *dbus_object_path, int intf_id)
g_assert(strlen(dbus_object_path) > 0);
gboolean intf_supported = FALSE;
- /* Getting introspection XML */
- DBusGProxy *introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
- gchar *introspection_xml = NULL;
- GError *error = NULL;
- if (!dbus_g_proxy_call(introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &introspection_xml, G_TYPE_INVALID)) {
- g_critical("%s", error->message);
- }
- g_assert(error == NULL);
-
gchar *check_intf_regex_str = NULL;
+ const gchar *dbus_service_name = NULL;
switch (intf_id) {
case DEVICE_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_DEVICE_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case AUDIO_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_AUDIO_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case INPUT_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_INPUT_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case NETWORK_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_NETWORK_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case NETWORK_HUB_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_NETWORK_HUB_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case NETWORK_PEER_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_NETWORK_PEER_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case NETWORK_ROUTER_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_NETWORK_ROUTER_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
break;
case SERIAL_INTF:
check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_SERIAL_INTERFACE, "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
+ break;
+ case OBEXMANAGER_INTF:
+ check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_OBEXMANAGER_INTERFACE, "\">", NULL);
+ dbus_service_name = OBEX_DBUS_NAME;
+ break;
+ case OBEXSESSION_INRF:
+ check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_OBEXSESSION_INTERFACE, "\">", NULL);
+ dbus_service_name = OBEX_DBUS_NAME;
+ break;
+ case OBEXSERVER_INTF:
+ check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_OBEXSERVER_INTERFACE, "\">", NULL);
+ dbus_service_name = OBEX_DBUS_NAME;
+ break;
+ case OBEXSERVER_SESSION_INTF:
+ check_intf_regex_str = g_strconcat("<interface name=\"", BLUEZ_DBUS_OBEXSERVER_SESSION_INTERFACE, "\">", NULL);
+ dbus_service_name = OBEX_DBUS_NAME;
break;
default:
check_intf_regex_str = g_strconcat("<interface name=\"", "undefined", "\">", NULL);
+ dbus_service_name = BLUEZ_DBUS_NAME;
+ }
+
+ /* Getting introspection XML */
+ DBusGProxy *introspection_g_proxy = dbus_g_proxy_new_for_name(conn, dbus_service_name, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ gchar *introspection_xml = NULL;
+ GError *error = NULL;
+ if (!dbus_g_proxy_call(introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &introspection_xml, G_TYPE_INVALID)) {
+ g_critical("%s", error->message);
}
+ g_assert(error == NULL);
if (g_regex_match_simple(check_intf_regex_str, introspection_xml, 0, 0)) {
intf_supported = TRUE;
diff --git a/src/lib/helpers.h b/src/lib/helpers.h
index acffb3b..c7d7c95 100644
--- a/src/lib/helpers.h
+++ b/src/lib/helpers.h
@@ -27,6 +27,7 @@
#include <stdio.h>
#include <glib.h>
+/* Bluez DBus Interfaces */
#include "adapter.h"
#include "device.h"
#include "audio.h"
@@ -37,9 +38,16 @@
#include "network_router.h"
#include "serial.h"
+/* OBEX DBus Interfaces */
+#include "obexmanager.h"
+#include "obexsession.h"
+#include "obexserver.h"
+#include "obexserver_session.h"
+
enum {
DEVICE_INTF,
+ /* BlueZ Interfaces */
AUDIO_INTF,
INPUT_INTF,
NETWORK_INTF,
@@ -47,6 +55,12 @@ enum {
NETWORK_PEER_INTF,
NETWORK_ROUTER_INTF,
SERIAL_INTF,
+
+ /* OBEX Interfaces */
+ OBEXMANAGER_INTF,
+ OBEXSESSION_INRF,
+ OBEXSERVER_INTF,
+ OBEXSERVER_SESSION_INTF,
};
/* Adapter helpers */
@@ -62,7 +76,8 @@ if (error) { \
exit(EXIT_FAILURE); \
}; }G_STMT_END
-inline int xtoi(const gchar *str) {
+inline int xtoi(const gchar *str)
+{
int i = 0;
sscanf(str, "0x%x", &i);
return i;
diff --git a/src/lib/input.c b/src/lib/input.c
index 34b1397..3ec39bf 100644
--- a/src/lib/input.c
+++ b/src/lib/input.c
@@ -135,7 +135,7 @@ static void input_post_init(Input *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -148,7 +148,7 @@ static void input_post_init(Input *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_INPUT_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_INPUT_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/manager.c b/src/lib/manager.c
index 6d80422..523d133 100644
--- a/src/lib/manager.c
+++ b/src/lib/manager.c
@@ -153,7 +153,7 @@ static void manager_init(Manager *self)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_MANAGER_PATH, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", BLUEZ_DBUS_MANAGER_PATH, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -167,7 +167,7 @@ static void manager_init(Manager *self)
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_MANAGER_PATH, BLUEZ_DBUS_MANAGER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", BLUEZ_DBUS_MANAGER_PATH, BLUEZ_DBUS_MANAGER_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/marshallers.c b/src/lib/marshallers.c
index 8391165..559fa61 100644
--- a/src/lib/marshallers.c
+++ b/src/lib/marshallers.c
@@ -156,21 +156,21 @@ g_cclosure_bluez_marshal_VOID__STRING_STRING (GClosure *closure,
data2);
}
-/* VOID:STRING,STRING,STRING (lib/marshallers.list:4) */
+/* VOID:STRING,STRING,UINT64 (lib/marshallers.list:4) */
void
-g_cclosure_bluez_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
+g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64 (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint G_GNUC_UNUSED,
gpointer marshal_data)
{
- typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING) (gpointer data1,
+ typedef void (*GMarshalFunc_VOID__STRING_STRING_UINT64) (gpointer data1,
gpointer arg_1,
gpointer arg_2,
- gpointer arg_3,
+ guint64 arg_3,
gpointer data2);
- register GMarshalFunc_VOID__STRING_STRING_STRING callback;
+ register GMarshalFunc_VOID__STRING_STRING_UINT64 callback;
register GCClosure *cc = (GCClosure*) closure;
register gpointer data1, data2;
@@ -186,30 +186,30 @@ g_cclosure_bluez_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
data1 = g_value_peek_pointer (param_values + 0);
data2 = closure->data;
}
- callback = (GMarshalFunc_VOID__STRING_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
+ callback = (GMarshalFunc_VOID__STRING_STRING_UINT64) (marshal_data ? marshal_data : cc->callback);
callback (data1,
g_marshal_value_peek_string (param_values + 1),
g_marshal_value_peek_string (param_values + 2),
- g_marshal_value_peek_string (param_values + 3),
+ g_marshal_value_peek_uint64 (param_values + 3),
data2);
}
-/* VOID:STRING,STRING,UINT64 (lib/marshallers.list:5) */
+/* VOID:STRING,STRING,STRING (lib/marshallers.list:5) */
void
-g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64 (GClosure *closure,
+g_cclosure_bluez_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint G_GNUC_UNUSED,
gpointer marshal_data)
{
- typedef void (*GMarshalFunc_VOID__STRING_STRING_UINT64) (gpointer data1,
+ typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING) (gpointer data1,
gpointer arg_1,
gpointer arg_2,
- guint64 arg_3,
+ gpointer arg_3,
gpointer data2);
- register GMarshalFunc_VOID__STRING_STRING_UINT64 callback;
+ register GMarshalFunc_VOID__STRING_STRING_STRING callback;
register GCClosure *cc = (GCClosure*) closure;
register gpointer data1, data2;
@@ -225,16 +225,55 @@ g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64 (GClosure *closure,
data1 = g_value_peek_pointer (param_values + 0);
data2 = closure->data;
}
- callback = (GMarshalFunc_VOID__STRING_STRING_UINT64) (marshal_data ? marshal_data : cc->callback);
+ callback = (GMarshalFunc_VOID__STRING_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
callback (data1,
g_marshal_value_peek_string (param_values + 1),
g_marshal_value_peek_string (param_values + 2),
- g_marshal_value_peek_uint64 (param_values + 3),
+ g_marshal_value_peek_string (param_values + 3),
+ data2);
+}
+
+/* VOID:BOXED,STRING,STRING (lib/marshallers.list:6) */
+void
+g_cclosure_bluez_marshal_VOID__BOXED_STRING_STRING (GClosure *closure,
+ GValue *return_value G_GNUC_UNUSED,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint G_GNUC_UNUSED,
+ gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__BOXED_STRING_STRING) (gpointer data1,
+ gpointer arg_1,
+ gpointer arg_2,
+ gpointer arg_3,
+ gpointer data2);
+ register GMarshalFunc_VOID__BOXED_STRING_STRING callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_values == 4);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__BOXED_STRING_STRING) (marshal_data ? marshal_data : cc->callback);
+
+ callback (data1,
+ g_marshal_value_peek_boxed (param_values + 1),
+ g_marshal_value_peek_string (param_values + 2),
+ g_marshal_value_peek_string (param_values + 3),
data2);
}
-/* BOOLEAN:POINTER (lib/marshallers.list:7) */
+/* BOOLEAN:POINTER (lib/marshallers.list:9) */
void
g_cclosure_bluez_marshal_BOOLEAN__POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -273,7 +312,7 @@ g_cclosure_bluez_marshal_BOOLEAN__POINTER (GClosure *closure,
g_value_set_boolean (return_value, v_return);
}
-/* BOOLEAN:STRING,POINTER (lib/marshallers.list:8) */
+/* BOOLEAN:STRING,POINTER (lib/marshallers.list:10) */
void
g_cclosure_bluez_marshal_BOOLEAN__STRING_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -314,7 +353,7 @@ g_cclosure_bluez_marshal_BOOLEAN__STRING_POINTER (GClosure *closure,
g_value_set_boolean (return_value, v_return);
}
-/* BOOLEAN:BOXED,STRING,POINTER (lib/marshallers.list:9) */
+/* BOOLEAN:BOXED,STRING,POINTER (lib/marshallers.list:11) */
void
g_cclosure_bluez_marshal_BOOLEAN__BOXED_STRING_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -357,7 +396,7 @@ g_cclosure_bluez_marshal_BOOLEAN__BOXED_STRING_POINTER (GClosure *closure,
g_value_set_boolean (return_value, v_return);
}
-/* BOOLEAN:BOXED,POINTER,POINTER (lib/marshallers.list:10) */
+/* BOOLEAN:BOXED,POINTER,POINTER (lib/marshallers.list:12) */
void
g_cclosure_bluez_marshal_BOOLEAN__BOXED_POINTER_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -400,7 +439,7 @@ g_cclosure_bluez_marshal_BOOLEAN__BOXED_POINTER_POINTER (GClosure *closure,
g_value_set_boolean (return_value, v_return);
}
-/* BOOLEAN:BOXED,UINT,POINTER (lib/marshallers.list:11) */
+/* BOOLEAN:BOXED,UINT,POINTER (lib/marshallers.list:13) */
void
g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
@@ -443,7 +482,7 @@ g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_POINTER (GClosure *closure,
g_value_set_boolean (return_value, v_return);
}
-/* BOOLEAN:BOXED,UINT,UCHAR,POINTER (lib/marshallers.list:12) */
+/* BOOLEAN:BOXED,UINT,UCHAR,POINTER (lib/marshallers.list:14) */
void
g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_UCHAR_POINTER (GClosure *closure,
GValue *return_value G_GNUC_UNUSED,
diff --git a/src/lib/marshallers.h b/src/lib/marshallers.h
index d5b7555..e8d2427 100644
--- a/src/lib/marshallers.h
+++ b/src/lib/marshallers.h
@@ -30,23 +30,31 @@ extern void g_cclosure_bluez_marshal_VOID__STRING_STRING (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
-/* VOID:STRING,STRING,STRING (lib/marshallers.list:4) */
-extern void g_cclosure_bluez_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
+/* VOID:STRING,STRING,UINT64 (lib/marshallers.list:4) */
+extern void g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64 (GClosure *closure,
GValue *return_value,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint,
gpointer marshal_data);
-/* VOID:STRING,STRING,UINT64 (lib/marshallers.list:5) */
-extern void g_cclosure_bluez_marshal_VOID__STRING_STRING_UINT64 (GClosure *closure,
+/* VOID:STRING,STRING,STRING (lib/marshallers.list:5) */
+extern void g_cclosure_bluez_marshal_VOID__STRING_STRING_STRING (GClosure *closure,
GValue *return_value,
guint n_param_values,
const GValue *param_values,
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:POINTER (lib/marshallers.list:7) */
+/* VOID:BOXED,STRING,STRING (lib/marshallers.list:6) */
+extern void g_cclosure_bluez_marshal_VOID__BOXED_STRING_STRING (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+/* BOOLEAN:POINTER (lib/marshallers.list:9) */
extern void g_cclosure_bluez_marshal_BOOLEAN__POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -54,7 +62,7 @@ extern void g_cclosure_bluez_marshal_BOOLEAN__POINTER (GClosure *closure,
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:STRING,POINTER (lib/marshallers.list:8) */
+/* BOOLEAN:STRING,POINTER (lib/marshallers.list:10) */
extern void g_cclosure_bluez_marshal_BOOLEAN__STRING_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -62,7 +70,7 @@ extern void g_cclosure_bluez_marshal_BOOLEAN__STRING_POINTER (GClosure *clos
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:BOXED,STRING,POINTER (lib/marshallers.list:9) */
+/* BOOLEAN:BOXED,STRING,POINTER (lib/marshallers.list:11) */
extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_STRING_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -70,7 +78,7 @@ extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_STRING_POINTER (GClosure
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:BOXED,POINTER,POINTER (lib/marshallers.list:10) */
+/* BOOLEAN:BOXED,POINTER,POINTER (lib/marshallers.list:12) */
extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_POINTER_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -78,7 +86,7 @@ extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_POINTER_POINTER (GClosure
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:BOXED,UINT,POINTER (lib/marshallers.list:11) */
+/* BOOLEAN:BOXED,UINT,POINTER (lib/marshallers.list:13) */
extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
@@ -86,7 +94,7 @@ extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_POINTER (GClosure *
gpointer invocation_hint,
gpointer marshal_data);
-/* BOOLEAN:BOXED,UINT,UCHAR,POINTER (lib/marshallers.list:12) */
+/* BOOLEAN:BOXED,UINT,UCHAR,POINTER (lib/marshallers.list:14) */
extern void g_cclosure_bluez_marshal_BOOLEAN__BOXED_UINT_UCHAR_POINTER (GClosure *closure,
GValue *return_value,
guint n_param_values,
diff --git a/src/lib/marshallers.list b/src/lib/marshallers.list
index 93ec5f6..03b73b4 100644
--- a/src/lib/marshallers.list
+++ b/src/lib/marshallers.list
@@ -1,12 +1,15 @@
VOID:UINT64
VOID:STRING,BOXED
VOID:STRING,STRING
-VOID:STRING,STRING,STRING
VOID:STRING,STRING,UINT64
+VOID:STRING,STRING,STRING
+VOID:BOXED,STRING,STRING
+# Used by agent
BOOLEAN:POINTER
BOOLEAN:STRING,POINTER
BOOLEAN:BOXED,STRING,POINTER
BOOLEAN:BOXED,POINTER,POINTER
BOOLEAN:BOXED,UINT,POINTER
BOOLEAN:BOXED,UINT,UCHAR,POINTER
+
diff --git a/src/lib/network.c b/src/lib/network.c
index 1aad2c9..ce8dd0e 100644
--- a/src/lib/network.c
+++ b/src/lib/network.c
@@ -148,7 +148,7 @@ static void network_post_init(Network *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -161,7 +161,7 @@ static void network_post_init(Network *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_NETWORK_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_NETWORK_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/network_hub.c b/src/lib/network_hub.c
index 1079390..16c7044 100644
--- a/src/lib/network_hub.c
+++ b/src/lib/network_hub.c
@@ -127,7 +127,7 @@ static void network_hub_post_init(NetworkHub *self, const gchar *dbus_object_pat
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -140,7 +140,7 @@ static void network_hub_post_init(NetworkHub *self, const gchar *dbus_object_pat
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_NETWORK_HUB_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_NETWORK_HUB_INTERFACE);
/* Properties init */
GHashTable *properties = network_hub_get_properties(self, &error);
diff --git a/src/lib/network_peer.c b/src/lib/network_peer.c
index 81c8200..99ad9b3 100644
--- a/src/lib/network_peer.c
+++ b/src/lib/network_peer.c
@@ -127,7 +127,7 @@ static void network_peer_post_init(NetworkPeer *self, const gchar *dbus_object_p
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -140,7 +140,7 @@ static void network_peer_post_init(NetworkPeer *self, const gchar *dbus_object_p
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_NETWORK_PEER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_NETWORK_PEER_INTERFACE);
/* Properties init */
GHashTable *properties = network_peer_get_properties(self, &error);
diff --git a/src/lib/network_router.c b/src/lib/network_router.c
index ac24b2c..c125390 100644
--- a/src/lib/network_router.c
+++ b/src/lib/network_router.c
@@ -127,7 +127,7 @@ static void network_router_post_init(NetworkRouter *self, const gchar *dbus_obje
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -140,7 +140,7 @@ static void network_router_post_init(NetworkRouter *self, const gchar *dbus_obje
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_NETWORK_ROUTER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_NETWORK_ROUTER_INTERFACE);
/* Properties init */
GHashTable *properties = network_router_get_properties(self, &error);
diff --git a/src/lib/obexmanager.c b/src/lib/obexmanager.c
index f207084..3fb9734 100644
--- a/src/lib/obexmanager.c
+++ b/src/lib/obexmanager.c
@@ -118,7 +118,7 @@ static void obexmanager_init(OBEXManager *self)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_OBEXMANAGER_PATH, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", BLUEZ_DBUS_OBEXMANAGER_PATH, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -132,7 +132,7 @@ static void obexmanager_init(OBEXManager *self)
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, BLUEZ_DBUS_OBEXMANAGER_PATH, BLUEZ_DBUS_OBEXMANAGER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", BLUEZ_DBUS_OBEXMANAGER_PATH, BLUEZ_DBUS_OBEXMANAGER_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/obexserver.c b/src/lib/obexserver.c
index b067e74..d796550 100644
--- a/src/lib/obexserver.c
+++ b/src/lib/obexserver.c
@@ -174,7 +174,7 @@ static void obexserver_post_init(OBEXServer *self, const gchar *dbus_object_path
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -187,7 +187,7 @@ static void obexserver_post_init(OBEXServer *self, const gchar *dbus_object_path
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_OBEXSERVER_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, BLUEZ_DBUS_OBEXSERVER_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/obexserver_session.c b/src/lib/obexserver_session.c
index bac86aa..9a53cff 100644
--- a/src/lib/obexserver_session.c
+++ b/src/lib/obexserver_session.c
@@ -174,7 +174,7 @@ static void obexserver_session_post_init(OBEXServerSession *self, const gchar *d
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -187,7 +187,7 @@ static void obexserver_session_post_init(OBEXServerSession *self, const gchar *d
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_OBEXSERVER_SESSION_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, BLUEZ_DBUS_OBEXSERVER_SESSION_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/obexsession.c b/src/lib/obexsession.c
index b8836a7..117d050 100644
--- a/src/lib/obexsession.c
+++ b/src/lib/obexsession.c
@@ -184,7 +184,7 @@ static void obexsession_post_init(OBEXSession *self, const gchar *dbus_object_pa
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -197,7 +197,7 @@ static void obexsession_post_init(OBEXSession *self, const gchar *dbus_object_pa
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_OBEXSESSION_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.openobex", dbus_object_path, BLUEZ_DBUS_OBEXSESSION_INTERFACE);
/* DBus signals connection */
diff --git a/src/lib/serial.c b/src/lib/serial.c
index 36f3746..747a15d 100644
--- a/src/lib/serial.c
+++ b/src/lib/serial.c
@@ -103,7 +103,7 @@ static void serial_post_init(Serial *self, const gchar *dbus_object_path)
GError *error = NULL;
/* Getting introspection XML */
- self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, "org.freedesktop.DBus.Introspectable");
+ self->priv->introspection_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, "org.freedesktop.DBus.Introspectable");
self->priv->introspection_xml = NULL;
if (!dbus_g_proxy_call(self->priv->introspection_g_proxy, "Introspect", &error, G_TYPE_INVALID, G_TYPE_STRING, &self->priv->introspection_xml, G_TYPE_INVALID)) {
g_critical("%s", error->message);
@@ -116,7 +116,7 @@ static void serial_post_init(Serial *self, const gchar *dbus_object_path)
g_assert(FALSE);
}
g_free(check_intf_regex_str);
- self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, BLUEZ_DBUS_NAME, dbus_object_path, BLUEZ_DBUS_SERIAL_INTERFACE);
+ self->priv->dbus_g_proxy = dbus_g_proxy_new_for_name(conn, "org.bluez", dbus_object_path, BLUEZ_DBUS_SERIAL_INTERFACE);
}
static void _serial_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)