_PROFILE_IOT = 0x10,
_PROFILE_COMMON = 0x20,
} tizen_profile_t;
+
+typedef enum {
+ _MODEL_UNKNOWN = 0,
+ _MODEL_COMMON = 0x1,
+ _MODEL_FHUB = 0x2,
+} tizen_model_t;
+
extern tizen_profile_t _get_tizen_profile();
extern tizen_profile_t profile;
+extern tizen_model_t _get_tizen_model();
+extern tizen_model_t model;
+
#define TIZEN_PROFILE_(x) (((__builtin_expect(profile != _PROFILE_UNKNOWN, 1)) ? \
(profile) : _get_tizen_profile()) \
& (x))
+#define TIZEN_MODEL_(x) (((__builtin_expect(model != _MODEL_UNKNOWN, 1)) ? \
+ (model) : _get_tizen_model()) \
+ & (x))
+
#define TIZEN_PROFILE_MOBILE TIZEN_PROFILE_(_PROFILE_MOBILE)
#define TIZEN_PROFILE_COMMON TIZEN_PROFILE_(_PROFILE_COMMON)
#define TIZEN_PROFILE_TV TIZEN_PROFILE_(_PROFILE_TV)
#define TIZEN_FEATURE_ENABLE_LEGACY_GATT_CLIENT TIZEN_PROFILE_MOBILE
+#define TIZEN_FEATURE_FHUB_REFERENCE TIZEN_PROFILE_(_MODEL_FHUB)
+
#ifdef __cplusplus
}
#endif
return profile;
}
+
+tizen_model_t model = _MODEL_UNKNOWN;
+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 (!strncasecmp(model_name, "Family Hub", 10))
+ model = _MODEL_FHUB;
+ else
+ model = _MODEL_COMMON;
+
+ free(model_name);
+
+ return model;
+}