2 * Open Adaptation Layer (OAL)
4 * Copyright (c) 2014-2015 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.
26 #include <sys/types.h>
28 #include <oal-manager.h>
34 #define FOREACH_EVENT(EVENT) \
35 EVENT(OAL_EVENT_ADAPTER_ENABLED) \
36 EVENT(OAL_EVENT_ADAPTER_DISABLED) \
37 EVENT(OAL_EVENT_ADAPTER_HARDWARE_ERROR) \
38 EVENT(OAL_EVENT_ADAPTER_PROPERTY_ADDRESS) /* bt_address_t */ \
39 EVENT(OAL_EVENT_ADAPTER_PROPERTY_NAME) /* char string */\
40 EVENT(OAL_EVENT_ADAPTER_PROPERTY_VERSION) /* char string */\
41 EVENT(OAL_EVENT_ADAPTER_PROPERTY_SERVICES) /* event_adapter_services_t */\
42 EVENT(OAL_EVENT_ADAPTER_MODE_NON_CONNECTABLE) \
43 EVENT(OAL_EVENT_ADAPTER_MODE_CONNECTABLE) \
44 EVENT(OAL_EVENT_ADAPTER_MODE_DISCOVERABLE) \
45 EVENT(OAL_EVENT_ADAPTER_MODE_DISCOVERABLE_TIMEOUT) /* uint32_t */\
46 EVENT(OAL_EVENT_ADAPTER_BONDED_DEVICE_LIST) /* event_device_list_t */\
47 EVENT(OAL_EVENT_ADAPTER_INQUIRY_STARTED) \
48 EVENT(OAL_EVENT_ADAPTER_INQUIRY_RESULT_BREDR_ONLY) /* event_dev_found_t */\
49 EVENT(OAL_EVENT_ADAPTER_INQUIRY_RESULT_BLE) /* event_ble_dev_found_t */\
50 EVENT(OAL_EVENT_ADAPTER_INQUIRY_FINISHED) \
51 EVENT(OAL_EVENT_DEVICE_PROPERTIES) /* remote_device_t */\
52 EVENT(OAL_EVENT_DEVICE_NAME) /* remote_device_t */\
53 EVENT(OAL_EVENT_DEVICE_VIDPID) /* remote_device_t */\
54 EVENT(OAL_EVENT_DEVICE_SERVICES) /* event_dev_services_t */\
55 EVENT(OAL_EVENT_DEVICE_PIN_REQUEST) /* remote_device_t */\
56 EVENT(OAL_EVENT_DEVICE_PASSKEY_ENTRY_REQUEST) /* remote_device_t */\
57 EVENT(OAL_EVENT_DEVICE_PASSKEY_CONFIRMATION_REQUEST)/* event_dev_passkey_t */\
58 EVENT(OAL_EVENT_DEVICE_PASSKEY_DISPLAY) /* event_dev_passkey_t */\
59 EVENT(OAL_EVENT_DEVICE_SSP_CONSENT_REQUEST) /* remote_device_t */\
60 EVENT(OAL_EVENT_DEVICE_BONDING_SUCCESS) /* bt_address_t */\
61 EVENT(OAL_EVENT_DEVICE_BONDING_REMOVED) /* bt_address_t */\
62 EVENT(OAL_EVENT_DEVICE_BONDING_FAILED) /* event_dev_bond_failed_t */\
63 EVENT(OAL_EVENT_DEVICE_AUTHORIZE_REQUEST) /* event_dev_authorize_req_t */\
64 EVENT(OAL_EVENT_SOCKET_AUTHORIZE_REQUEST) /* event_socket_authorize_req_t */\
65 EVENT(OAL_EVENT_DEVICE_ACL_CONNECTED) /* bt_address_t */\
66 EVENT(OAL_EVENT_DEVICE_ACL_DISCONNECTED) /* bt_address_t */\
67 EVENT(OAL_EVENT_DEVICE_TRUSTED) /* Remote Device is Trusted */\
68 EVENT(OAL_EVENT_DEVICE_UNTRUSTED) /* Remote Device is UnTrusted */\
69 EVENT(OAL_EVENT_OAL_INITIALISED_SUCCESS) /* OAL Initialisation event */ \
70 EVENT(OAL_EVENT_OAL_INITIALISED_FAILED) /* OAL Initialisation event */ \
71 EVENT(OAL_EVENT_HID_CONNECTED) /* event_hid_conn_t */\
72 EVENT(OAL_EVENT_HID_DISCONNECTED) /* event_hid_conn_t */\
73 EVENT(OAL_EVENT_SOCKET_OUTGOING_CONNECTED) /* RFCOMM */ \
74 EVENT(OAL_EVENT_SOCKET_DISCONNECTED) /* RFCOMM */ \
75 EVENT(OAL_EVENT_AUDIO_CONNECTING) /* bt_address_t */ \
76 EVENT(OAL_EVENT_AUDIO_DISCONNECTING) /* bt_address_t*/ \
77 EVENT(OAL_EVENT_AUDIO_CONNECTED) /* bt_address_t*/ \
78 EVENT(OAL_EVENT_AUDIO_DISCONNECTED) /* bt_address_t*/ \
79 EVENT(OAL_EVENT_AUDIO_STOPPED) /* bt_address_t*/ \
80 EVENT(OAL_EVENT_AUDIO_STARTED) /* bt_address_t*/ \
81 EVENT(OAL_EVENT_HFP_DISCONNECTED) /* bt_address_t*/ \
82 EVENT(OAL_EVENT_HFP_CONNECTING) /* bt_address_t*/ \
83 EVENT(OAL_EVENT_HFP_CONNECTED) /* bt_address_t*/ \
84 EVENT(OAL_EVENT_HFP_DISCONNECTING) /* bt_address_t*/ \
85 EVENT(OAL_EVENT_HFP_AUDIO_DISCONNECTED) /* bt_address_t*/ \
86 EVENT(OAL_EVENT_HFP_AUDIO_CONNECTING) /* bt_address_t*/ \
87 EVENT(OAL_EVENT_HFP_AUDIO_CONNECTED) /* bt_address_t*/ \
88 EVENT(OAL_EVENT_HFP_AUDIO_DISCONNECTING) /* bt_address_t*/ \
89 EVENT(OAL_EVENT_END) /* End of event*/\
92 #define GENERATE_ENUM(ENUM) ENUM,
93 #define GENERATE_STRING(STRING) #STRING,
95 typedef enum EVENT_ENUM {
96 FOREACH_EVENT(GENERATE_ENUM)
99 #ifdef _OAL_EVENT_DISPATCHER_C_
100 const char *str_event[] = {
101 FOREACH_EVENT(GENERATE_STRING)
104 extern const char *str_event[];
107 /*********Datastructures for Local Adapter events ******************/
110 bt_address_t devices[0];
111 } event_device_list_t;
114 remote_device_t device_info;
115 uint8_t adv_data[62];
117 } event_ble_dev_found_t;
120 remote_device_t device_info;
125 service_uuid_t service_list[0];
126 } event_adapter_services_t;
129 remote_device_t device_info;
130 uint8_t adv_data[62];
132 } event_dev_properties_t;
134 /*********Datastructures for Remote Device events ******************/
136 bt_address_t address;
138 service_uuid_t service_list[0];
139 } event_dev_services_t;
142 remote_device_t device_info;
144 } event_dev_passkey_t;
147 bt_address_t address;
148 oal_service_t service_id;
149 } event_dev_authorize_req_t;
153 bt_address_t address;
155 } event_socket_authorize_req_t;
159 bt_address_t address;
164 bt_address_t address;
166 } event_dev_conn_status_t;
168 typedef event_dev_conn_status_t event_dev_bond_failed_t;
170 /*********Datastructures for HID callback******************/
171 /* HID :: connection state callback response data */
173 bt_address_t address;
177 /********* Datastructures for Socket event ******************/
178 /* SOCKET:: socket outgoing client connection event data */
180 int fd; /**< FD of Outgoing client */
181 int sock_type; /**< Type of socket */
182 bt_address_t address; /**< Address of remote server */
183 } event_socket_client_conn_t;
187 #endif /* __cplusplus */
188 #endif /*_OAL_EVENT_H_*/