#define BT_HPS_INTERFACE_NAME "org.projectx.httpproxy_service"
#endif
+#ifdef TIZEN_FEATURE_BT_OTP
+#define BT_OTP_SERVICE_NAME "org.projectx.otp"
+#define BT_OTP_OBJECT_PATH "/org/projectx/otp"
+#define BT_OTP_INTERFACE_NAME "org.projectx.otp_service"
+#endif
+
static GDBusConnection *service_gconn;
static GDBusProxy *service_gproxy;
#ifdef TIZEN_FEATURE_BT_HPS
static GDBusProxy *hps_gproxy;
#endif
+#ifdef TIZEN_FEATURE_BT_OTP
+static GDBusProxy *otp_gproxy;
+#endif
+
void _bt_core_fill_garray_from_variant(GVariant *var, GArray *param)
{
char *data;
}
#endif
+#ifdef TIZEN_FEATURE_BT_OTP
+static GDBusProxy *_bt_core_gdbus_init_otp_proxy(void)
+{
+ GDBusProxy *proxy;
+ GError *err = NULL;
+ GDBusConnection *conn;
+
+ BT_DBG(" ");
+
+ conn = _bt_core_get_gdbus_connection();
+ if (!conn)
+ return NULL;
+
+ proxy = g_dbus_proxy_new_sync(conn,
+ G_DBUS_PROXY_FLAGS_NONE, NULL,
+ BT_OTP_SERVICE_NAME,
+ BT_OTP_OBJECT_PATH,
+ BT_OTP_INTERFACE_NAME,
+ NULL, &err);
+ if (proxy == NULL) {
+ if (err) {
+ BT_ERR("Unable to create proxy: %s", err->message);
+ g_clear_error(&err);
+ }
+ return NULL;
+ }
+
+ otp_gproxy = proxy;
+
+ return proxy;
+}
+
+GDBusProxy *_bt_core_gdbus_get_otp_proxy(void)
+{
+ return (otp_gproxy) ? otp_gproxy : _bt_core_gdbus_init_otp_proxy();
+}
+
+int _bt_core_stop_otp(void)
+{
+ GVariant *variant = NULL;
+ unsigned char enabled;
+ GError *err = NULL;
+ BT_DBG(" ");
+
+ otp_gproxy = _bt_core_gdbus_get_otp_proxy();
+ if (!otp_gproxy) {
+ BT_DBG("Couldn't get service proxy");
+ return -1;
+ }
+
+ variant = g_dbus_proxy_call_sync(otp_gproxy, "disable",
+ NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &err);
+ if (err) {
+ BT_ERR("Error : %s" , err->message);
+ g_clear_error(&err);
+ }
+ if (variant) {
+ g_variant_get(variant, "(y)", &enabled);
+ BT_ERR("OTP disabled status 0x%x", enabled);
+ }
+ return 0;
+}
+#endif
void _bt_core_gdbus_deinit_proxys(void)
{
BT_DBG("");
}
#endif
+#ifdef TIZEN_FEATURE_BT_OTP
+ if (otp_gproxy) {
+ g_object_unref(otp_gproxy);
+ otp_gproxy = NULL;
+ }
+#endif
+
if (service_gconn) {
g_object_unref(service_gconn);
service_gconn = NULL;