Add the sender name in signal subscribe function
[platform/core/connectivity/bluetooth-frwk.git] / bt-service-adaptation / services / include / bt-service-avrcp-ctrl.h
1 /*
2  * Bluetooth-frwk
3  *
4  * Copyright (c) 2015 - 2016 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact:  Nilesh Trimbake <t.shripati@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *              http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21
22 #ifndef __BT_SERVICE_AVRCP_CONTROLLER_H__
23 #define __BT_SERVICE_AVRCP_CONTROLLER_H__
24
25 #include "bt-service-event-receiver.h"
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 #include <oal-manager.h>
32
33 #include <bt-service-audio-common.h>
34 #include <oal-avrcp-ct.h>
35
36 typedef struct {
37         const char *title;
38         const char *artist;
39         const char *album;
40         const char *genre;
41         unsigned int total_tracks;
42         unsigned int number;
43         int64_t duration;
44 } _bt_avrcp_ct_media_metadata_attr_t;
45
46 typedef struct {
47         unsigned int value;
48 } _bt_avrcp_ct_property_value_t;
49
50 typedef enum {
51         RC_PASS_CMD_PLAY = 0x01,
52         RC_PASS_CMD_PAUSE,
53         RC_PASS_CMD_STOP,
54         RC_PASS_CMD_NEXT,
55         RC_PASS_CMD_PREVIOUS,
56         RC_PASS_CMD_PRESS_FAST_FORWARD,
57         RC_PASS_CMD_RELEASE_FAST_FORWARD,
58         RC_PASS_CMD_PRESS_REWIND,
59         RC_PASS_CMD_RELEASE_REWIND,
60         RC_PASS_CMD_VOLUME_UP,
61         RC_PASS_CMD_VOLUME_DOWN
62 } _bt_avrcp_ct_pass_cmd_key_code_t;
63
64 int _bt_avrcp_connect_remote_target(bluetooth_device_address_t *address);
65
66 int _bt_avrcp_disconnect_remote_target(bluetooth_device_address_t *address);
67
68 int _bt_avrcp_control_cmd(int type);
69
70 int _bt_avrcp_control_cmd_to_dest(int type, bluetooth_device_address_t *address);
71
72 int _bt_avrcp_control_set_property(int type, unsigned int value);
73
74 int _bt_avrcp_transport_set_property(int type, unsigned int value);
75
76 int _bt_avrcp_control_get_property(int type);
77
78 int _bt_avrcp_control_get_track_info(void);
79
80 void _bt_set_control_device_path(const char *path);
81
82 void _bt_remove_control_device_path(const char *path);
83
84 void _bt_avrcp_ctrl_event_handler(int oal_event, gpointer event_data);
85
86 #ifdef __cplusplus
87 }
88 #endif /* __cplusplus */
89 #endif /* __BT_SERVICE_AVRCP_CONTROLLER_H__ */