A2DP_SINK_UUID, NULL };
#endif
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
-static const char *fhub_default_reconnect[] = {
- HSP_AG_UUID, HFP_AG_UUID, A2DP_SOURCE_UUID
- A2DP_SINK_UUID, NULL };
+static const char *da_default_reconnect[] = {
+ HFP_AG_UUID, A2DP_SOURCE_UUID, NULL };
#endif
static char **reconnect_uuids = NULL;
conf = btd_get_main_conf();
if (!conf) {
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- if (TIZEN_FEATURE_BLUEZ_FHUB)
- reconnect_uuids = g_strdupv((char **) fhub_default_reconnect);
+ if (TIZEN_FEATURE_BLUEZ_DA)
+ reconnect_uuids = g_strdupv((char **) da_default_reconnect);
else
#endif
reconnect_uuids = g_strdupv((char **) default_reconnect);
if (gerr) {
g_clear_error(&gerr);
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- if (TIZEN_FEATURE_BLUEZ_FHUB)
- reconnect_uuids = g_strdupv((char **) fhub_default_reconnect);
+ if (TIZEN_FEATURE_BLUEZ_DA)
+ reconnect_uuids = g_strdupv((char **) da_default_reconnect);
else
#endif
reconnect_uuids = g_strdupv((char **) default_reconnect);
TIZEN_MODEL_TW3 = 0x20,
TIZEN_MODEL_RPI3 = 0x40,
TIZEN_MODEL_ROBOT = 0x80,
- TIZEN_MODEL_FHUB = 0x100,
- TIZEN_MODEL_DA = 0x200,
} tizen_model_t;
+typedef enum {
+ TIZEN_DEVICE_UNKNOWN = 0,
+ TIZEN_DEVICE_COMMON = 0x1,
+ TIZEN_DEVICE_DA = 0x2,
+} tizen_device_t;
+
typedef enum {
TIZEN_CERTI_MODE_UNKNOWN = 0,
TIZEN_CERTI_MODE_DISABLE = 0x1,
static tizen_profile_t profile = TIZEN_PROFILE_UNKNOWN;
static tizen_model_t model = TIZEN_MODEL_UNKNOWN;
+static tizen_device_t device = TIZEN_DEVICE_UNKNOWN;
static tizen_certifcation_mode_t certification_mode = TIZEN_CERTI_MODE_UNKNOWN;
static inline int __get_profile_from_model_config_xml(const char *field, char **value)
model = TIZEN_MODEL_RPI3;
else if (!strcasecmp(model_name, "gems") || !strncasecmp(model_name, "ServingBot", 10))
model = TIZEN_MODEL_ROBOT;
- else if (!strncasecmp(model_name, "Family Hub", 10))
- model = TIZEN_MODEL_FHUB;
- else if (!strcasecmp(model_name, "Robot Vacuum Cleaner") ||
- !strcasecmp(model_name, "Smart Dryer") ||
- !strcasecmp(model_name, "Smart Washer") ||
- !strcasecmp(model_name, "DDMS") ||
- !strcasecmp(model_name, "Smart Cooktop") ||
- !strcasecmp(model_name, "Smart Range") ||
- !strcasecmp(model_name, "Refrigerator") ||
- !strcasecmp(model_name, "Echo Heating System Controller") ||
- !strcasecmp(model_name, "Bespoke Washer") ||
- !strcasecmp(model_name, "Bespoke Dryer") ||
- !strcasecmp(model_name, "Appliance Emulator") ||
- !strcasecmp(model_name, "Smart Oven") ||
- !strcasecmp(model_name, "Smart AC") ||
- !strcasecmp(model_name, "AI Vision Refrigerator") ||
- !strncasecmp(model_name, "AI Home", 7))
- model = TIZEN_MODEL_DA;
else
model = TIZEN_MODEL_COMMON;
return model;
}
+static inline tizen_device_t get_tizen_device_type(void)
+{
+ char *device_type = NULL;
+
+ if (__builtin_expect(device != TIZEN_DEVICE_UNKNOWN, 1))
+ return device;
+
+ if (__get_profile_from_model_config_xml("tizen.org/system/device_type",
+ &device_type) < 0) {
+ device = TIZEN_DEVICE_COMMON;
+ return device;
+ }
+
+ if (device_type == NULL) {
+ device = TIZEN_DEVICE_COMMON;
+ return device;
+ }
+
+ if (!strcasecmp(device_type, "Robot Vacuum") ||
+ !strcasecmp(device_type, "System A/C") ||
+ !strcasecmp(device_type, "Washer") ||
+ !strcasecmp(device_type, "Dryer") ||
+ !strcasecmp(device_type, "Cooktop") ||
+ !strcasecmp(device_type, "Range") ||
+ !strncasecmp(device_type, "Refrigerator", 12) ||
+ !strcasecmp(device_type, "Appliance") ||
+ !strcasecmp(device_type, "Oven"))
+ device = TIZEN_DEVICE_DA;
+ else
+ device = TIZEN_DEVICE_COMMON;
+
+ free(device_type);
+ return device;
+}
+
static inline tizen_certifcation_mode_t _get_tizen_certification_mode(void)
{
if (__builtin_expect(certification_mode != TIZEN_CERTI_MODE_UNKNOWN, 1))
#define TIZEN_FEATURE_BLUEZ_SPRD_PAGE_SCAN ((_get_tizen_model()) == TIZEN_MODEL_TM1)
#define TIZEN_FEATURE_BLUEZ_SPEAKER_REFERENCE ((_get_tizen_model()) == TIZEN_MODEL_RPI3 && (_get_tizen_profile()) == TIZEN_PROFILE_COMMON)
#define TIZEN_FEATURE_ROBOT_REFERENCE ((_get_tizen_model()) == TIZEN_MODEL_ROBOT)
-#define TIZEN_FEATURE_BLUEZ_FHUB ((_get_tizen_model()) == TIZEN_MODEL_FHUB)
-#define TIZEN_FEATURE_BLUEZ_DA ((_get_tizen_model()) == TIZEN_MODEL_FHUB || (_get_tizen_model()) == TIZEN_MODEL_DA)
+#define TIZEN_FEATURE_BLUEZ_DA (get_tizen_device_type() == TIZEN_DEVICE_DA)
#define TIZEN_FEATURE_BLUEZ_STACK_CERTIFICATION (((_get_tizen_certification_mode()) & TIZEN_CERTI_MODE_STACK) != 0)
#define TIZEN_FEATURE_BLUEZ_PROFILE_CERTIFICATION (((_get_tizen_certification_mode()) & TIZEN_CERTI_MODE_PROFILE) != 0)
struct avdtp_local_sep *sep = stream->lsep;
#if defined(TIZEN_FEATURE_BLUEZ_MODIFY) && defined(TIZEN_FEATURE_BLUEZ_A2DP_MULTISTREAM)
- if (!TIZEN_FEATURE_BLUEZ_FHUB) {
+ if (!TIZEN_FEATURE_BLUEZ_DA) {
/* Connection lost */
avdtp_remove_source_devce(session->device);
}
avdtp_check_collision(session, AVDTP_START, stream);
#if defined(TIZEN_FEATURE_BLUEZ_MODIFY) && defined(TIZEN_FEATURE_BLUEZ_A2DP_MULTISTREAM)
- if (!TIZEN_FEATURE_BLUEZ_FHUB)
+ if (!TIZEN_FEATURE_BLUEZ_DA)
avdtp_add_source_device(session->device);
#endif
uint8_t err;
#if defined(TIZEN_FEATURE_BLUEZ_MODIFY) && defined(TIZEN_FEATURE_BLUEZ_A2DP_MULTISTREAM)
- if (!TIZEN_FEATURE_BLUEZ_FHUB)
+ if (!TIZEN_FEATURE_BLUEZ_DA)
avdtp_remove_source_devce(session->device);
#endif
#if defined(TIZEN_FEATURE_BLUEZ_MODIFY) && defined(TIZEN_FEATURE_BLUEZ_A2DP_MULTISTREAM)
if (sep->state != AVDTP_STATE_STREAMING) {
DBG("Not streaming state: %d", sep->state);
- if (!TIZEN_FEATURE_BLUEZ_FHUB) {
+ if (!TIZEN_FEATURE_BLUEZ_DA) {
return avdtp_send(session, transaction, AVDTP_MSG_TYPE_ACCEPT,
AVDTP_SUSPEND, NULL, 0);
} else {
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
#define AVRCP_CT_VERSION 0x0104
#define AVRCP_TG_VERSION 0x0103
-#define FHUB_AVRCP_CT_VERSION 0x0103
+#define DA_AVRCP_CT_VERSION 0x0103
#else
#define AVRCP_CT_VERSION 0x0106
#define AVRCP_TG_VERSION 0x0105
/* Bluetooth Profile Descriptor List */
sdp_uuid16_create(&profile[0].uuid, AV_REMOTE_PROFILE_ID);
#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- avrcp_ct_ver = TIZEN_FEATURE_BLUEZ_FHUB ? FHUB_AVRCP_CT_VERSION : AVRCP_CT_VERSION;
+ avrcp_ct_ver = TIZEN_FEATURE_BLUEZ_DA ? DA_AVRCP_CT_VERSION : AVRCP_CT_VERSION;
profile[0].version = avrcp_ct_ver;
adapter_avrcp_ct_ver = avrcp_ct_ver;
#else
uint16_t avctp_ver = 0x0104;
uint16_t feat = 0;
#ifdef ENABLE_AVRCP_CATEGORY1
- if (TIZEN_FEATURE_BLUEZ_FHUB)
+ if (TIZEN_FEATURE_BLUEZ_DA)
feat = AVRCP_FEATURE_CATEGORY_1;
else {
feat = AVRCP_FEATURE_CATEGORY_1 |
strval = status_to_string(value);
#if defined(TIZEN_FEATURE_BLUEZ_MODIFY) && defined(TIZEN_FEATURE_BLUEZ_A2DP_MULTISTREAM)
- if (!TIZEN_FEATURE_BLUEZ_FHUB) {
+ if (!TIZEN_FEATURE_BLUEZ_DA) {
DBG("AVRCP status changed to : %s", strval);
if (value == AVRCP_PLAY_STATUS_PAUSED)
media_player_set_status(mp, strval);
avrcp_get_play_status(session);
- if (TIZEN_FEATURE_BLUEZ_FHUB)
+ if (TIZEN_FEATURE_BLUEZ_DA)
avrcp_get_element_attributes(session);
}
uint16_t arg;
int err;
- if (TIZEN_FEATURE_BLUEZ_FHUB) {
+ if (TIZEN_FEATURE_BLUEZ_DA) {
error("This function is not supported in DA product");
g_dbus_pending_property_error(id, ERROR_INTERFACE ".NotSupported",
"Operation is not supported");
adapter->stored_discoverable = g_key_file_get_boolean(key_file,
"General", "Discoverable", &gerr);
if (gerr) {
-#ifdef TIZEN_FEATURE_BLUEZ_MODIFY
- if (TIZEN_FEATURE_BLUEZ_FHUB) {
- DBG("Default Discoverable mode is TRUE");
- adapter->stored_discoverable = true;
- } else
-#endif
- adapter->stored_discoverable = false;
+ DBG("Default stored_discoverable is false");
+ adapter->stored_discoverable = false;
g_error_free(gerr);
gerr = NULL;
}