*
*/
-
#include <vconf.h>
#if !defined(LIBNOTIFY_SUPPORT) && !defined(LIBNOTIFICATION_SUPPORT)
#include <syspopup_caller.h>
BT_EXPORT_API int bluetooth_check_adapter(void)
{
-#ifdef __TIZEN_MOBILE__
- int ret;
+ int result;
+ bluetooth_adapter_state_t state;
+
+ BT_INIT_PARAMS();
+ BT_ALLOC_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
- ret = _bt_get_adapter_path(_bt_get_system_gconn(), NULL);
+ result = _bt_send_request(BT_BLUEZ_SERVICE, BT_CHECK_ADAPTER,
+ in_param1, in_param2, in_param3, in_param4, &out_param);
- return ret == BLUETOOTH_ERROR_NONE ? BLUETOOTH_ADAPTER_ENABLED :
- BLUETOOTH_ADAPTER_DISABLED;
-#else
- gboolean powered;
+ if (result == BLUETOOTH_ERROR_NONE) {
+ state = g_array_index(out_param, bluetooth_adapter_state_t, 0);
+ }
- powered = _bt_get_adapter_power(_bt_get_system_gconn());
+ BT_FREE_PARAMS(in_param1, in_param2, in_param3, in_param4, out_param);
- return powered == TRUE ? BLUETOOTH_ADAPTER_ENABLED :
- BLUETOOTH_ADAPTER_DISABLED;
-#endif
+ return state ? BLUETOOTH_ADAPTER_ENABLED : BLUETOOTH_ADAPTER_DISABLED;
}
BT_EXPORT_API int bluetooth_enable_adapter(void)
return adapter_proxy;
}
-gboolean _bt_get_adapter_power(DBusGConnection *conn)
-{
- DBusGProxy *proxy = NULL;
- gboolean powered;
- GValue powered_v = { 0 };
- GError *err = NULL;
-
- proxy = _bt_get_adapter_proxy(conn);
- retv_if(proxy == NULL, FALSE);
-
- if (!dbus_g_proxy_call(proxy, "Get", &err,
- G_TYPE_STRING, BT_ADAPTER_INTERFACE,
- G_TYPE_STRING, "Powered",
- G_TYPE_INVALID,
- G_TYPE_VALUE, &powered_v,
- G_TYPE_INVALID)) {
- if (err != NULL) {
- BT_ERR("Getting property failed: [%s]\n", err->message);
- g_error_free(err);
- }
- return FALSE;
- }
-
- powered = (gboolean)g_value_get_boolean(&powered_v);
-
- BT_DBG("powered = %d", powered);
-
- return powered;
-}
-
void _bt_device_path_to_address(const char *device_path, char *device_address)
{
char address[BT_ADDRESS_STRING_SIZE] = { 0 };
int _bt_get_adapter_path(DBusGConnection *g_conn, char *path);
-gboolean _bt_get_adapter_power(DBusGConnection *conn);
-
DBusGProxy *_bt_get_adapter_proxy(DBusGConnection *conn);
void _bt_device_path_to_address(const char *device_path, char *device_address);
int _bt_check_adapter(int *status)
{
- char *adapter_path = NULL;
-
BT_CHECK_PARAMETER(status, return);
*status = 0; /* 0: disabled */
- adapter_path = _bt_get_adapter_path();
-
- if (adapter_path != NULL)
+ if (_bt_get_adapter_power())
*status = 1; /* 1: enabled */
- g_free(adapter_path);
return BLUETOOTH_ERROR_NONE;
}
__bt_init_adapter_properties_proxy();
}
+gboolean _bt_get_adapter_power(void)
+{
+ DBusGProxy *proxy = NULL;
+ gboolean powered;
+ GValue powered_v = { 0 };
+ GError *err = NULL;
+
+ proxy = _bt_get_adapter_properties_proxy();
+ retv_if(proxy == NULL, FALSE);
+
+ if (!dbus_g_proxy_call(proxy, "Get", &err,
+ G_TYPE_STRING, BT_ADAPTER_INTERFACE,
+ G_TYPE_STRING, "Powered",
+ G_TYPE_INVALID,
+ G_TYPE_VALUE, &powered_v,
+ G_TYPE_INVALID)) {
+ if (err != NULL) {
+ BT_ERR("Getting property failed: [%s]\n", err->message);
+ g_error_free(err);
+ }
+ return FALSE;
+ }
+
+ powered = (gboolean)g_value_get_boolean(&powered_v);
+
+ BT_DBG("powered = %d", powered);
+
+ return powered;
+}
+
static char *__bt_extract_adapter_path(DBusMessageIter *msg_iter)
{
char *object_path = NULL;
char *_bt_get_adapter_path(void);
+gboolean _bt_get_adapter_power(void);
+
void _bt_deinit_proxys(void);
void _bt_convert_device_path_to_address(const char *device_path,