comparison g23m/condat/ms/src/mfw/mfw_bte.h @ 0:509db1a7b7b8

initial import: leo2moko-r1
author Space Falcon <falcon@ivan.Harhan.ORG>
date Mon, 01 Jun 2015 03:24:05 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:509db1a7b7b8
1 /*
2 +-------------------------------------------------------------------+
3 | PROJECT: MMI-Framework (8445) $Workfile:: mfw_bte.h $|
4 | $Author:: NDH $Revision:: 1 $|
5 | CREATED: 17.04.04 $Modtime:: 17.04.04 10:48 $|
6 | STATE : code |
7 +-------------------------------------------------------------------+
8
9
10 MODULE : MFW_BT
11
12 PURPOSE : This module contains the definitions for MFW Bluetooth Management
13
14 */
15
16 #ifndef DEF_MFW_BT_HEADER
17 #define DEF_MFW_BT_HEADER
18
19 #define BT_INTERFACE
20 #include "bta_riviera.h"
21
22 #include "target.h"
23 #include "buildcfg.h"
24
25 #include "bta_api.h"
26 #include "mfw_mfw.h"
27 #include "mfw_win.h"
28
29 typedef enum {
30 MFW_BT_UNKNOWN_DEVICE = -8,
31 MFW_BT_DATA_BASE_FULL = -7,
32 MFW_BT_NOT_INITIALISED = -6,
33 MFW_BT_FAILED_TO_STORE_EVENT = -5,
34 MFW_BT_INVALID_DATA = -4,
35 MFW_BT_INVALID_EVENT = -3,
36 MFW_BT_INVALID_ORIG = -2,
37 MFW_BT_UNABLE_TO_CREATE_EVT_BUF = -1,
38 MFW_BT_FAIL = 0,
39 MFW_BT_SUCCESS = 1
40 } T_MFW_BT_STATUS;
41
42
43
44 typedef enum
45 {
46 MFW_BT_DEFAULT_VIS = -1,
47 MFW_BT_SHOWN = BTA_DM_GENERAL_DISC,
48 MFW_BT_HIDDEN = BTA_DM_NON_DISC
49 }T_MFW_STARTUP_VISIBILITY;
50
51
52
53 /*
54 ** Debug Macros : These will enable easy enabling/disabling of tracing within the Bluetooth environment
55 */
56 #define MFW_BT_DEBUG 1
57
58 #ifdef MFW_BT_DEBUG
59
60 #define MFW_BT_TRACE(a) TRACE_EVENT(a)
61 #define MFW_BT_TRACE_P1(s, a) TRACE_EVENT_P1(s, a)
62 #define MFW_BT_TRACE_P2(s, a, b) TRACE_EVENT_P2(s, a, b)
63 #define MFW_BT_TRACE_P3(s, a, b, c) TRACE_EVENT_P3(s, a, b, c)
64 #define MFW_BT_TRACE_P4(s, a, b, c, d) TRACE_EVENT_P4(s, a, b, c, d)
65 #define MFW_BT_TRACE_P5(s, a, b, c, d, e) TRACE_EVENT_P5(s, a, b, c, d, e)
66 #define MFW_BT_TRACE_P6(s, a, b, c, d, e, f) TRACE_EVENT_P6(s, a, b, c, d, e, f)
67 #define MFW_BT_TRACE_P7(s, a, b, c, d, e, f, g) TRACE_EVENT_P7(s, a, b, c, d, e, f, g)
68 #define MFW_BT_TRACE_P8(s, a, b, c, d, e, f, g, h) TRACE_EVENT_P8(s, a, b, c, d, e, f, g, h)
69 #define MFW_BT_TRACE_P9(s, a, b, c, d, e, f, g, h, i) TRACE_EVENT_P9(s, a, b, c, d, e, f, g, h, i)
70
71 #else
72
73 #define MFW_BT_TRACE(a)
74 #define MFW_BT_TRACE_P1(s, a)
75 #define MFW_BT_TRACE_P2(s, a, b)
76 #define MFW_BT_TRACE_P3(s, a, b, c)
77 #define MFW_BT_TRACE_P4(s, a, b, c, d)
78 #define MFW_BT_TRACE_P5(s, a, b, c, d, e)
79 #define MFW_BT_TRACE_P6(s, a, b, c, d, e, f)
80 #define MFW_BT_TRACE_P7(s, a, b, c, d, e, f, g)
81 #define MFW_BT_TRACE_P8(s, a, b, c, d, e, f, g, h)
82 #define MFW_BT_TRACE_P9(s, a, b, c, d, e, f, g, h, i)
83
84 #endif
85
86
87 /*
88 ** Status return values : The Bluetooth module will use meaningful return values to the functions so the software
89 ** can be engineered to react appropriately to specific events
90 */
91
92
93
94 /**********************************************************************************************
95 **
96 ** Mfw -> BMI Interface (Event related definitions)
97 **
98 **********************************************************************************************/
99
100 /*
101 * Events are organised as bitmaps
102 */
103 #define E_BT_ENABLE_CMPL (T_MFW_EVENT)0x00000001
104 #define E_BT_DISABLE_CMPL (T_MFW_EVENT)0x00000002
105
106 #define E_BT_ALL_GENERIC_SERVICES (T_MFW_EVENT)0x0000000F
107
108
109 #define E_BT_ALL_SERVICES ( (T_MFW_EVENT)(E_BT_ALL_GENERIC_SERVICES) \
110 | (T_MFW_EVENT)(E_BT_ALL_DM_SERVICES))
111 /*#if 0 Not Implemented yet
112 | (T_MFW_EVENT)(E_BT_ALL_DG_SERVICES) \
113 | (T_MFW_EVENT)(E_BT_ALL_AG_SERVICES) \
114 | (T_MFW_EVENT)(E_BT_ALL_OP_SERVICES) \
115 | (T_MFW_EVENT)(E_BT_ALL_FT_SERVICES) \
116 #endif
117 */
118
119 /*
120 ** Signal Parameter Structure Definitions
121 */
122 typedef struct {
123 BOOL Success;
124 } T_MFW_BT_ENABLE_CMPL;
125
126
127
128 #include "mfw_bt_dm.h"
129 #include "mfw_bt_dg.h"
130 #include "mfw_bt_ag.h"
131 #include "mfw_bt_op.h"
132 #include "mfw_bt_ft.h"
133 /*
134 * BT Mfw -> BMI signal parameter
135 */
136 typedef union
137 {
138 /*
139 ** Generic Service Signal Parameters
140 */
141 T_MFW_BT_ENABLE_CMPL enable_cmpl;
142
143 /*
144 ** Device Manager Signal Parameters
145 */
146 T_MFW_BT_DM_LINK_UP link_up;
147 T_MFW_BT_DM_LINK_DOWN link_down;
148 T_MFW_BT_DM_INQ_RES inq_res;
149 T_MFW_BT_DM_INQ_CMPL inq_cmpl;
150 T_MFW_BT_DM_DISC_RES disc_res;
151 T_MFW_BT_DM_PIN_REQ pin_req;
152 T_MFW_BT_DM_AUTH_CMPL auth_cmpl;
153 T_MFW_BT_DM_AUTHORIZE_REQ authorize_req;
154 T_MFW_BT_DM_SIG_STRENGTH_IND sig_strength_ind;
155
156 }
157 T_MFW_BT_PARA;
158
159 /*
160 * BT Control Block
161 */
162 typedef struct
163 {
164 T_MFW_EVENT emask; /* events of interest */
165 T_MFW_EVENT event; /* current event */
166 T_MFW_CB handler;
167 T_MFW_BT_PARA para;
168 } T_MFW_BT;
169
170
171 void mfw_bt_signal(T_MFW_EVENT event, void *para);
172
173
174 /*******************************************************************************
175
176 $Function: mfw_bt_enable
177
178 $Description: This function will start the whole process of enabling Bluetooth.
179
180 $Returns: MFW_BT_FAIL if the chip is not stopped or if the generic event handler
181 doesn't start correctly.
182
183 $Arguments: Specify the visibility parameter at start-up.
184 MFW_BT_DEFAULT => use value in flash
185 MFW_BT_SHOWN => device will be visible ( that doesn't update the flash )
186 MFW_BT_HIDDEN => device will be hidden ( ... )
187
188 *******************************************************************************/
189 T_MFW_BT_STATUS mfw_bt_enable(T_MFW_STARTUP_VISIBILITY startup_visibility );
190
191 /* */
192 /*******************************************************************************
193
194 $Function: mfw_bt_enable_cb
195
196 $Description: mfw_bt_enable will cause a BTA_DM_SYS_START_EVT to be sent. At this
197 moment we call BTA_EnableBluetooth. When we receive
198 BTA_DM_ENABLE_EVT, we call this function.
199
200 $Returns: Will send a BMI signal if there is no default name. If the user cancels the
201 input, BT will then be stopped.
202 Will send a E_BT_ENABLE_CMPL event when the initialization is done.
203
204 $Arguments: none
205
206 *******************************************************************************/
207 void mfw_bt_enable_cb(void);
208
209 /*******************************************************************************
210 $Function: mfw_bt_disable
211 $Description: This function stops the BT system.
212 $Returns: None
213 $Arguments:
214 *******************************************************************************/
215 void mfw_bt_disable(void);
216
217
218 /*******************************************************************************
219 $Function: mfw_bt_init
220 $Description: This function initialises the Mfw Bluetooth Persistent Data on Power Up.
221 $Returns: None
222 $Arguments: None
223 *******************************************************************************/
224 void mfw_bt_init(void);
225 /*******************************************************************************
226 $Function: mfw_bt_exit
227 $Description: This function will tidy up any resources used by the Mfw Bluetooth Module
228 on Power Down
229 $Returns: None
230 $Arguments: None
231 *******************************************************************************/
232 void mfw_bt_exit(void);
233 /*******************************************************************************
234 $Function: mfw_bt_create
235 $Description: This function initialises an Mfw Bluetooth entity and adds it to the Window Stack
236 $Returns: T_MFW_HND : A handle for the entity
237 $Arguments: T_MFW_HND : Parent Window Handle
238 T_MFW_EVENT : Event Mask of the events to be handled
239 T_MFW_CB : Callback function to handle the events
240 *******************************************************************************/
241 T_MFW_HND mfw_bt_create(T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc);
242 /*******************************************************************************
243 $Function: mfw_bt_delete
244 $Description: This function clears down an Mfw Bluetooth entity and removes it from the
245 Window Stack
246 $Returns: T_MFW_RES : The result of the function
247 $Arguments: T_MFW_HND : The Handle of the entity to be removed
248 *******************************************************************************/
249 T_MFW_RES mfw_bt_delete(T_MFW_HND hnd);
250 /*******************************************************************************
251 $Function: mfw_bt_signal
252 $Description: This function sends the Mfw Bluetooth events from the Mfw to the BMI.
253 $Returns: None
254 $Arguments: T_MFW_EVENT : The event to be sent to the BMI
255 void * : Pointer to the Event data
256 *******************************************************************************/
257 void mfw_bt_signal(T_MFW_EVENT event, void *para);
258 /*******************************************************************************
259 $Function: mfw_bt_sign_exec
260 $Description: This function sends the Mfw Bluetooth events from the Mfw to the BMI.
261 $Returns: None
262 $Arguments: None
263 *******************************************************************************/
264 BOOL mfw_bt_sign_exec (T_MFW_HDR * cur_elem, T_MFW_EVENT event, T_MFW_BT_PARA * para);
265
266 #endif
267