X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=include%2Fbt-internal-types.h;h=2a47799d462c15091791d0ba9036e617cc56423c;hb=refs%2Ftags%2Faccepted%2Ftizen%2Funified%2F20190904.110659;hp=6601c22a4343fad7ca3ec245fb9c485eb99048dc;hpb=f08a5a6442836e23f4bce74cc188444e60438407;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git diff --git a/include/bt-internal-types.h b/include/bt-internal-types.h index 6601c22..2a47799 100644 --- a/include/bt-internal-types.h +++ b/include/bt-internal-types.h @@ -265,6 +265,7 @@ typedef enum { BT_AVRCP_TARGET_CONNECT, BT_AVRCP_TARGET_DISCONNECT, BT_AVRCP_HANDLE_CONTROL, + BT_AVRCP_HANDLE_CONTROL_TO_DEST, BT_AVRCP_CONTROL_SET_PROPERTY, BT_AVRCP_CONTROL_GET_PROPERTY, BT_AVRCP_GET_TRACK_INFO, @@ -697,8 +698,20 @@ 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 */ @@ -749,6 +762,41 @@ 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; +} + #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) @@ -758,6 +806,7 @@ 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) #ifdef __cplusplus }