X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fbt-internal-types.h;h=24f2bdfd7560b8233d0b5912814f7325ee17a615;hb=9a6e83fd9099f56bd7c99969136bbdf82714e0f2;hp=b3a0f03d062efe3a80313ce8826c78085e1fa20f;hpb=467d79f5fe2781a47bb6306e8b8a0893fe1f88e3;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/include/bt-internal-types.h b/include/bt-internal-types.h index b3a0f03..24f2bdf 100644 --- a/include/bt-internal-types.h +++ b/include/bt-internal-types.h @@ -27,10 +27,23 @@ #include "bluetooth-api.h" +#define NUM_APP_MAX 30 + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +typedef struct { + time_t session_start_time; + time_t session_end_time; + uint16_t session_connected_time; + uint16_t session_scan_time; + int num_app; + bt_battery_app_data app_data[NUM_APP_MAX]; +} bt_battery_dbus_data_t; + +typedef void (*bt_adapter_disable_bm_data_cb)(bt_battery_data *data); + typedef enum { BT_NO_SERVER, BT_NATIVE_SERVER, @@ -77,6 +90,9 @@ typedef enum { BT_TDS_EVENT, BT_OTP_EVENT, BT_HDP_EVENT, +#ifdef TIZEN_FEATURE_BT_AVC_TARGET + BT_AUDIO_AVC_EVENT, +#endif /* Will be added */ } bt_event_type_t; @@ -153,6 +169,7 @@ typedef enum { BT_ENABLE_ADAPTER, BT_DISABLE_ADAPTER, BT_RECOVER_ADAPTER, + BT_BATTERY_READ_DATA, BT_SET_DISCOVERABLE_TIME, BT_GET_DISCOVERABLE_TIME, BT_IGNORE_AUTO_PAIRING, @@ -174,6 +191,7 @@ typedef enum { BT_GET_RSSI, BT_IS_CONNECTABLE, BT_SET_CONNECTABLE, + BT_GET_CONNECTABLE, BT_GET_BONDED_DEVICES, BT_RESET_ADAPTER, BT_SET_ADVERTISING, @@ -197,12 +215,11 @@ typedef enum { BT_REMOVE_WHITE_LIST, BT_CLEAR_WHITE_LIST, BT_REGISTER_SCAN_FILTER, - BT_UNREGISTER_SCAN_FILTER, - BT_UNREGISTER_ALL_SCAN_FILTERS, BT_IS_SCAN_FILTER_SUPPORTED, BT_GET_PROFILE_CONNECTED_DEVICES, BT_ENABLE_FORCE_HCI_DUMP, BT_SET_PASSKEY_NOTIFICATION, + BT_SET_SCAN_TYPE, BT_BOND_DEVICE = BT_FUNC_DEVICE_BASE, BT_BOND_DEVICE_BY_TYPE, BT_CANCEL_BONDING, @@ -254,9 +271,14 @@ typedef enum { BT_SET_SPEAKER_GAIN, BT_SET_CONTENT_PROTECT, BT_AUDIO_SELECT_ROLE, + BT_AUDIO_SET_ABSOLUTE_VOLUME, + BT_AUDIO_GET_ABSOLUTE_VOLUME, + BT_AUDIO_IS_AVC_ACTIVATED, BT_OOB_READ_LOCAL_DATA = BT_FUNC_OOB_BASE, BT_OOB_ADD_REMOTE_DATA, BT_OOB_REMOVE_REMOTE_DATA, + BT_LE_OOB_READ_LOCAL_DATA, + BT_LE_OOB_ADD_REMOTE_DATA, BT_AVRCP_SET_TRACK_INFO = BT_FUNC_AVRCP_BASE, BT_AVRCP_SET_PROPERTY, BT_AVRCP_SET_PROPERTIES, @@ -309,6 +331,8 @@ typedef enum { BT_RFCOMM_REJECT_CONNECTION, BT_RFCOMM_CREATE_SOCKET_EX, BT_RFCOMM_REMOVE_SOCKET_EX, + BT_RFCOMM_SEND_RX_DETAILS, + BT_RFCOMM_SEND_TX_DETAILS, BT_PBAP_CONNECT = BT_FUNC_PBAP_BASE, BT_PBAP_DISCONNECT, BT_PBAP_GET_PHONEBOOK_SIZE, @@ -506,8 +530,13 @@ typedef struct { #define BT_GATT_CLIENT_PATH "/org/projectx/bt/gatt_client" #endif +#ifdef TIZEN_FEATURE_BT_AVC_TARGET +#define BT_AUDIO_AVC_PATH "/org/projectx/bt/avc_mode" +#endif + #define BT_ENABLED "Enabled" #define BT_DISABLED "Disabled" +#define BT_DISABLED_BATTERY_DATA "AdapterDisabledBatteryData" #define BT_LE_ENABLED "LeEnabled" #define BT_LE_DISABLED "LeDisabled" #define BT_DISCOVERABLE_MODE_CHANGED "DiscoverableModeChanged" @@ -602,6 +631,7 @@ typedef struct { #define BT_MEDIA_POSITION_STATUS "MediaPositionStatus" #define BT_MEDIA_TRACK_CHANGE "MediaTrackStatus" #define BT_MEDIA_DELAY_CHANGE "MediaDelayStatus" +#define BT_MEDIA_VOLUME_CHANGE "MediaVolumeStatus" #define BT_NAME_OWNER_CHANGED "NameOwnerChanged" #ifdef TIZEN_GATT_CLIENT @@ -628,9 +658,11 @@ typedef struct { #define BT_GATT_CLIENT_WRITE_CHAR "GattWriteCharValue" #define BT_GATT_CLIENT_READ_DESC "GattReadDescriptor" #define BT_GATT_CLIENT_WRITE_DESC "GattWriteDescriptor" +#define BT_GATT_CLIENT_SERVICE_CHANGED "GattServiceChanged" #endif #define BT_GATT_REQ_ATT_MTU_CHANGED "GattReqAttMtuChanged" +#define BT_GATT_SERVER_ATT_MTU_CHANGED "GattServerAttMtuChanged" #define BT_GATT_CHAR_VAL_CHANGED "GattCharValueChanged" #ifdef GATT_NO_RELAY #define BT_GATT_BLUEZ_CHAR_VAL_CHANGED "GattValueChanged" @@ -664,10 +696,16 @@ typedef struct { #define BT_OTP_INDICATION "OtpIndication" #define BT_OTC_STATE_CHANGED "OtcStateChanged" +#ifdef TIZEN_FEATURE_BT_AVC_TARGET +#define BT_AUDIO_AVC_MODE_CHANGED "AvcModeChanged" +#endif + #define HEADED_PLUGIN_FILEPATH "/usr/lib/bt-plugin-headed.so" #define HEADED_PLUGIN_FILEPATH64 "/usr/lib64/bt-plugin-headed.so" #define FILEPATH_ARCH_64 "/usr/lib64" +#define BT_FEATURE_COMMON "http://tizen.org/feature/network.bluetooth" + struct bluetooth_headed_plugin_t { int (*bt_launch_dpmpopup) (char *mode); int (*bt_launch_system_popup)(int event_type, @@ -698,12 +736,25 @@ typedef enum { _PROFILE_COMMON = 0x20, } tizen_profile_t; +typedef enum { + _MODEL_UNKNOWN = 0, + _MODEL_COMMON = 0x1, + _MODEL_TM1 = 0x2, + _MODEL_TM2 = 0x4, + _MODEL_TW1 = 0x8, + _MODEL_TW2 = 0x10, + _MODEL_TW3 = 0x20, + _MODEL_RPI3 = 0x40, +} tizen_model_t; + /* For optimization, make this extern and define in a shared C file */ extern tizen_profile_t profile; +static tizen_model_t model = _MODEL_UNKNOWN; extern bt_plugin_info_t *headed_plugin_info; /* Accessing system info */ int system_info_get_platform_string(const char *key, char **value); +bool system_info_get_platform_bool(const char *key, bool *value); void bluetooth_plugin_init(); void bluetooth_plugin_deinit(); @@ -750,6 +801,50 @@ static inline tizen_profile_t get_tizen_profile() return profile; } + +static inline tizen_model_t get_tizen_model(void) +{ + char *model_name = NULL; + + if (__builtin_expect(model != _MODEL_UNKNOWN, 1)) + return model; + + system_info_get_platform_string("http://tizen.org/system/model_name", &model_name); + + if (model_name == NULL) { + model = _MODEL_COMMON; + return model; + } + + if (!strcasecmp(model_name, "TM1")) + model = _MODEL_TM1; + else if (!strcasecmp(model_name, "TM2")) + model = _MODEL_TM2; + else if (!strcasecmp(model_name, "TW1")) + model = _MODEL_TW1; + else if (!strcasecmp(model_name, "TW2")) + model = _MODEL_TW2; + else if (!strcasecmp(model_name, "TW3")) + model = _MODEL_TW3; + else if (!strcasecmp(model_name, "rpi3")) + model = _MODEL_RPI3; + else + model = _MODEL_COMMON; + + free(model_name); + + return model; +} + +static inline bool get_tizen_feature_supported(char *feature) +{ + bool is_supported = false; + + system_info_get_platform_bool(feature, &is_supported); + + return is_supported ? true : false; +} + #define TIZEN_PROFILE_WEARABLE (get_tizen_profile() == _PROFILE_WEARABLE) #define TIZEN_PROFILE_IVI (get_tizen_profile() == _PROFILE_IVI) #define TIZEN_PROFILE_TV (get_tizen_profile() == _PROFILE_TV) @@ -759,6 +854,8 @@ static inline tizen_profile_t get_tizen_profile() #define TIZEN_FEATURE_TELEPHONY_ENABLED (get_tizen_profile() & (_PROFILE_MOBILE)) #define TIZEN_FEATURE_FLIGHTMODE_ENABLED (get_tizen_profile() & (_PROFILE_MOBILE | _PROFILE_WEARABLE)) #define TIZEN_FEATURE_BT_USB_DONGLE (get_tizen_profile() & (_PROFILE_TV)) +#define TIZEN_FEATURE_BLUEZ_SPEAKER_REFERENCE ((get_tizen_model()) == _MODEL_RPI3 && (get_tizen_profile()) == _PROFILE_COMMON) +#define TIZEN_FEATURE_BT_SUPPORTED (get_tizen_feature_supported(BT_FEATURE_COMMON) == true) #ifdef __cplusplus }