FreeCalypso > hg > fc-magnetite
diff src/ui3/mfw/mfw_bt_api.h @ 420:e8ddbb0837ed
src/ui3: initial import of TCS3/LoCosto BMI & MFW code
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 21 Jan 2018 03:09:00 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/ui3/mfw/mfw_bt_api.h Sun Jan 21 03:09:00 2018 +0000 @@ -0,0 +1,156 @@ +/*******************************************************************************\ +* * +* TEXAS INSTRUMENTS ISRAEL PROPRIETARY AND CONFIDENTIAL INFORMATION * +* * +* LEGAL NOTE: THE TRANSFER OF THE TECHNICAL INFORMATION IS BEING MADE * +* UNDER AN EXPORT LICENSE ISSUED BY THE ISRAELI GOVERNMENT AND THAT THE * +* APPLICABLE EXPORT LICENSE DOES NOT ALLOW THE TECHNICAL INFORMATION TO * +* BE USED FOR THE MODIFICATION OF THE BT ENCRYPTION OR THE DEVELOPMENT * +* OF ANY NEW ENCRYPTION. THE INFORMATION CAN BE USED FOR THE INTERNAL * +* DESIGN AND MANUFACTURE OF TI PRODUCTS THAT WILL CONTAIN THE BT IC. * +* * +\*******************************************************************************/ +/*******************************************************************************\ +* +* FILE NAME: mfw_bt_api.h +* +* DESCRIPTION: This file defines the API between BMI (MMI) and BT applications +* +* AUTHOR: Uzi Doron +* +* Rev 0.2 +* +\*******************************************************************************/ + + +#ifndef __MFW_BT_API +#define __MFW_BT_API +/**********************************************/ +/* */ +/* */ +/* from here on - events from BMI to BT */ +/* */ +/* */ +/**********************************************/ + +/*------------------------------------------------------------------------------- + * BmiAvEvent type + * + * Defines Audio/Video events initiated by MMI side. + * These events will be sent from BMI to BT + * + */ +typedef enum +{ +BMI_EVENT_USER_PLAY = 0x0001, /* user pressed Play on handset */ +BMI_EVENT_USER_STOP, /* user pressed Stop on handset */ +BMI_EVENT_USER_PAUSE, /* user pressed Pause on handset */ +BMI_EVENT_USER_RESUME, /* user pressed Resume on handset */ +BMI_EVENT_TRACK_START, /* a track is starting to play */ +BMI_EVENT_TRACK_END /* a track ended playing */ +}BmiAvEvent; + +/*------------------------------------------------------------------------------- + * BmiEventCallback type + * + * A callback function, implemented at BT application, that will be called by + * BMI to send events (of type BmiAvEvent) to BT. BMI will be able to send events + * after BT has registered such an event callback function + * + * At BT side the function prototype will look like: + * void BT_NotifyBmiEvent(BmiAvEvent event); + * + * NOTE: Since the callback is called from BMI context, the BT application should + * not spend considerable time in this function. In case significant processing + * time and/or asynchronous activity is required as a result of calling this function, + * the BT application should switch to its own context to perform this activity. + * It must not block the BMI application. +*/ +typedef void (*BmiEventCallback)(BmiAvEvent event); + +/*------------------------------------------------------------------------------- + * BMI_RegisterEventCallback() + * + * BT application will call this function to register an event callback + * function with BMI. + * + * Parameters: + * eventCallback [in] - pointer of the callback function. if this parameter is + * NULL (0), BMI should not try to make callbacks. + * + * Returns: + * void + * + */ +void BMI_RegisterEventCallback(BmiEventCallback eventCallback); + + + +/**********************************************/ +/* */ +/* */ +/* from here on - events from BT to BMI */ +/* */ +/* */ +/**********************************************/ + +/*------------------------------------------------------------------------------- + * BtAppEvent type + * + * Defines events initiated by BT side. + * These events will be sent from BT to BMI + */ +typedef enum +{ +BT_EVENT_USER_PLAY = 0x0044, /* user pressed Play on BT headset */ +BT_EVENT_USER_STOP, /* user pressed Stop on BT headset */ +BT_EVENT_USER_PAUSE /* user pressed Pause on BT headset */ +}BtAppEvent; + +/*------------------------------------------------------------------------------- + * BMI_NotifyBtEvent() + * + * Notify the BMI about an A/V event initiated at BT side. + * This function is implemented in the BMI application and used by the BT application. + * + * NOTE: Since it is called from BT context, the BMI application should not spend + * considerable time in this function. In case significant processing time and/or + * asynchronous activity is required as a result of calling this function, the BMI + * application should switch to its own context to perform this activity. It must + * not block the BT application. + * + * Parameters: + * event [in] - the reported event + * + * Returns: + * void + * + */ +void BMI_NotifyBtEvent(BtAppEvent event); + +/*------------------------------------------------------------------------------- + * BMI_SwitchAudioToBtHeadset() + * + * Connect or disconnect the audio output to BT headset. + * BT will call this function to let BMI know an A2DP link to a wireless headset + * has been connected (and is in Open state), or disconnected. + * + * When link is connected, BMI will decide whether it wants to + * direct the audio output to the wireless headset. + * + * Parameters: + * connected [in] - whether the link has just been connected or disconnected: + * TRUE - connected + * FALSE - disconnected + * + * Returns: + * when connect parameter is TRUE: + * - return TRUE when BMI approves and will use A2DP headset as the audio output + * - return FALSE when BMI rejects using A2DP headset as the audio output + * + * when connect parameter is FALSE - returned value is ignored + * + */ +BOOL BMI_SwitchAudioToBtHeadset(BOOL connected); +#endif /* __MFWE_BT_API */ +