4 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
20 #ifndef BT_SERVICE_AGENT_H
21 #define BT_SERVICE_AGENT_H
25 #include <dbus/dbus-glib.h>
26 #include <dbus/dbus-glib-lowlevel.h>
33 #include <dbus/dbus-glib.h>
36 #define LOG_TAG "BLUETOOTH_FRWK_SERVICE"
37 #define ERR(fmt, args...) SLOGE(fmt, ##args)
39 #define BT_AGENT_PADDING_SIZE 4096
40 #define BT_MAX_SERVICES_FOR_DEVICE 20 /**< This specifies maximum number of services a
42 #define BT_MAX_EVENT_STR_LENGTH 50
43 #define BT_AGENT_ADDR_SIZE 18
45 /* Define Error type */
46 #define BT_AGENT_FAIL -1
47 #define BT_AGENT_ERROR_NONE 0
49 #define BT_FILE_VISIBLE_TIME "file/private/libug-setting-bluetooth-efl/visibility_time"
52 HS_PROFILE_UUID = ((unsigned short)0x1108), /**<HS*/
53 AUDIO_SOURCE_UUID = ((unsigned short)0x110A), /**<AUDIO SOURCE*/
54 AUDIO_SINK_UUID = ((unsigned short)0x110B), /**<AUDIO SINK*/
55 AV_REMOTE_CONTROL_TARGET_UUID = ((unsigned short)0x110C),/**<AV REMOTE CONTROL TARGET*/
56 ADVANCED_AUDIO_PROFILE_UUID = ((unsigned short)0x110D), /**<A2DP*/
57 AV_REMOTE_CONTROL_UUID = ((unsigned short)0x110E), /**<AV REMOTE CONTROL UUID*/
58 HF_PROFILE_UUID = ((unsigned short)0x111E), /**<HF*/
59 } bt_agent_service_uuid_list_t;
62 BT_AGENT_EVENT_PIN_REQUEST = 0x0001,
63 BT_AGENT_EVENT_PASSKEY_CONFIRM_REQUEST = 0x0002,
64 BT_AGENT_EVENT_PASSKEY_REQUEST = 0x0004,
65 BT_AGENT_EVENT_PASSKEY_DISPLAY_REQUEST = 0x0008,
66 BT_AGENT_EVENT_AUTHORIZE_REQUEST = 0x0010,
67 BT_AGENT_EVENT_CONFIRM_MODE_REQUEST = 0x0020,
68 BT_AGENT_EVENT_APP_CONFIRM_REQUEST = 0x0040,
69 BT_AGENT_EVENT_FILE_RECEIVED = 0x0080,
70 BT_AGENT_EVENT_KEYBOARD_PASSKEY_REQUEST = 0x0100,
71 BT_AGENT_EVENT_SECURITY = 0x0200,
72 BT_AGENT_EVENT_TERMINATE = 0x0400,
73 BT_AGENT_EVENT_EXCHANGE_REQUEST = 0x0800,
74 BT_AGENT_EVENT_PBAP_REQUEST = 0x1000,
75 BT_AGENT_EVENT_MAP_REQUEST = 0x2000,
76 } bt_agent_event_type_t;
79 BT_AGENT_CHANGED_MODE_ENABLE,
80 BT_AGENT_CHANGED_MODE_DISABLE,
81 } bt_agent_changed_mode_type_t;
84 BT_AGENT_RUN_STATUS_NO_CHANGE = 0x00, /* No Change BT status*/
85 BT_AGENT_RUN_STATUS_ACTIVATE = 0x01, /* BT Activate*/
86 BT_AGENT_RUN_STATUS_DEACTIVATE = 0x02, /* BT Deactivate*/
87 BT_AGENT_RUN_STATUS_SEARCH_TEST = 0x03, /* BT Search Test*/
88 BT_AGENT_RUN_STATUS_TERMINATE = 0x04, /* BT Terminate*/
89 BT_AGENT_RUN_STATUS_MAX = 0x05, /* Max val*/
90 } bt_agent_run_status_t;
93 BT_AGENT_ON_CURRENTVIEW = 0x00, /* Run BT on current view*/
94 BT_AGENT_ON_FOREGROUND = 0x01, /* Run BT on foreground*/
95 BT_AGENT_ON_BACKGROUND = 0x02, /* Run BT on background*/
99 BT_AGENT_OBEX_SERVER = 0x00,
100 BT_AGENT_RFCOMM_SERVER = 0x01,
101 } bt_agent_osp_server_type_t;
106 } bt_agent_osp_server_t;
109 unsigned int service_list_array[BT_MAX_SERVICES_FOR_DEVICE];
111 } bt_agent_sdp_info_t;
113 void* _bt_create_agent(const char *path, gboolean adapter);
115 void _bt_destroy_agent(void *agent);
117 gboolean _bt_agent_is_canceled(void *agent);
119 gboolean _bt_agent_register_osp_server(const gint type, const char *uuid);
121 gboolean _bt_agent_unregister_osp_server(const gint type, const char *uuid);
123 gboolean _bt_agent_reply_authorize(gboolean accept);