Fix build warnings in bluetooth-frwk
[platform/core/connectivity/bluetooth-frwk.git] / bt-oal / bluez_hal / src / bt-hal-avrcp-ctrl-dbus-handler.c
index 79397ab..0d71806 100644 (file)
@@ -75,7 +75,7 @@ void _bt_hal_unregister_avrcp_ctrl_dbus_handler_cb()
 }
 
 static void __bt_avrcp_target_connect_cb(GDBusProxy *proxy, GAsyncResult *res,
-                                                       gpointer user_data)
+               gpointer user_data)
 {
        struct hal_ev_avrcp_ctrl_conn_state ev;
        char *address = user_data;
@@ -124,13 +124,13 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_connect(bt_bdaddr_t *bd_addr)
        int ret;
        GDBusConnection *conn;
 
-       if(!bd_addr) {
+       if (!bd_addr) {
                ERR("bd_addr is NULL, return");
                return BT_STATUS_PARM_INVALID;
        }
 
        conn = _bt_hal_get_system_gconn();
-       if(!conn) {
+       if (!conn) {
                ERR("_bt_hal_get_system_gconn returned NULL, return");
                return BT_STATUS_FAIL;
        }
@@ -155,7 +155,7 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_connect(bt_bdaddr_t *bd_addr)
 }
 
 static void __bt_avrcp_target_disconnect_cb(GDBusProxy *proxy, GAsyncResult *res,
-                                                       gpointer user_data)
+               gpointer user_data)
 {
        struct hal_ev_avrcp_ctrl_conn_state ev;
        char *address = user_data;
@@ -206,13 +206,13 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_disconnect(bt_bdaddr_t *bd_addr)
        int ret;
        GDBusConnection *conn;
 
-       if(!bd_addr) {
+       if (!bd_addr) {
                ERR("bd_addr is NULL, return");
                return BT_STATUS_PARM_INVALID;
        }
 
        conn = _bt_hal_get_system_gconn();
-       if(!conn) {
+       if (!conn) {
                ERR("_bt_hal_get_system_gconn returned NULL, return");
                return BT_STATUS_FAIL;
        }
@@ -324,20 +324,36 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_cmd(bt_bdaddr_t *bd_addr, uint8_t ke
 static const char *__bt_media_type_to_str(int type)
 {
        switch (type) {
-               case BTRC_PLAYER_ATTR_EQUALIZER:
-                       return "Equalizer";
-               case BTRC_PLAYER_ATTR_REPEAT:
-                       return "Repeat";
-               case BTRC_PLAYER_ATTR_SHUFFLE:
-                       return "Shuffle";
-               case BTRC_PLAYER_ATTR_SCAN:
-                       return "Scan";
-               default :
-                       return NULL;
+       case BTRC_PLAYER_ATTR_EQUALIZER:
+               return "Equalizer";
+       case BTRC_PLAYER_ATTR_REPEAT:
+               return "Repeat";
+       case BTRC_PLAYER_ATTR_SHUFFLE:
+               return "Shuffle";
+       case BTRC_PLAYER_ATTR_SCAN:
+               return "Scan";
+       default:
+               return NULL;
+       }
+
+       return NULL;
+}
+
+#if 0
+static const char *__bt_transport_type_to_str(int type)
+{
+       switch (type) {
+       case BTRC_TRANSPORT_ATTR_DELAY:
+               return "Delay";
+       case BTRC_TRANSPORT_ATTR_VOLUME:
+               return "Volume";
+       default:
+               return NULL;
        }
 
        return NULL;
 }
+#endif
 
 bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_set_property(bt_bdaddr_t *bd_addr, uint8_t type, uint8_t value)
 {
@@ -369,7 +385,7 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_set_property(bt_bdaddr_t *bd_addr, u
        }
 
        proxy = _bt_hal_get_avrcp_ctrl_properties_proxy(bd_addr);
-       if(proxy == NULL) {
+       if (proxy == NULL) {
                ERR("Unable to allocate new proxy \n");
                if (err) {
                        ERR("%s", err->message);
@@ -397,3 +413,55 @@ bt_status_t _bt_hal_dbus_handler_avrcp_ctrl_set_property(bt_bdaddr_t *bd_addr, u
        DBG("-");
        return BT_STATUS_SUCCESS;
 }
+
+bt_status_t _bt_hal_dbus_handler_avrcp_transport_set_property(bt_bdaddr_t *bd_addr, int type, unsigned int value)
+{
+       GVariant *reply, *param = NULL;
+       GError *err = NULL;
+       GDBusProxy *proxy = NULL;
+       uint16_t property_level = (uint16_t)value;
+
+       DBG("+");
+       switch (type) {
+       case BTRC_TRANSPORT_ATTR_DELAY:
+               param = g_variant_new("q", property_level);
+               INFO("delay level %d", property_level);
+               break;
+       case BTRC_TRANSPORT_ATTR_VOLUME:
+               param = g_variant_new("q", property_level);
+               INFO("volume level %d", property_level);
+               break;
+       default:
+               ERR("Invalid property type: %d", type);
+               return BT_STATUS_FAIL;
+       }
+
+       proxy = _bt_hal_get_avrcp_transport_properties_proxy(bd_addr);
+       if (proxy == NULL) {
+               ERR("Unable to allocate new proxy \n");
+               if (err) {
+                       ERR("%s", err->message);
+                       g_clear_error(&err);
+               }
+               return BT_STATUS_FAIL;
+       }
+
+       reply = g_dbus_proxy_call_sync(proxy,
+                       "Set", g_variant_new("(ssv)",
+                               BT_HAL_MEDIATRANSPORT_INTERFACE,
+                               __bt_media_type_to_str(type), param),
+                       G_DBUS_CALL_FLAGS_NONE, -1, NULL, &err);
+       g_object_unref(proxy);
+       if (!reply) {
+               ERR("Can't get managed objects");
+               if (err) {
+                       ERR("SetProperty Fail: %s", err->message);
+                       g_clear_error(&err);
+                       return BT_STATUS_FAIL;
+               }
+       }
+
+       g_variant_unref(reply);
+       DBG("-");
+       return BT_STATUS_SUCCESS;
+}