return ret;
}
-int mc_db_get_ability_supported(void *handle, const char *server_name, mc_ability_e ability, mc_ability_support_e *supported)
+static int __mc_db_get_ability(void *handle, const char *server_name, unsigned long long *decided, unsigned long long *supported)
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
- media_controller_ability_s basic_ability = {0, 0};
+ unsigned long long _decided = 0;
+ unsigned long long _supported = 0;
- mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_retvm_if(server_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "server_name is NULL");
- mc_retvm_if((ability < MC_ABILITY_ACTION || ability > MC_ABILITY_REPEAT), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "ability is Invalid");
+ mc_retvm_if(!handle, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid handle");
+ mc_retvm_if(!server_name, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invalid server_name");
- ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_decided", &basic_ability.decided);
+ ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_decided", &_decided);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "__mc_db_get_text_value_of_key failed");
- ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_supported", &basic_ability.supported);
+ ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_supported", &_supported);
mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "__mc_db_get_text_value_of_key failed");
- mc_secure_debug("IsDecided: %d", MC_BIT64_IS_TRUE(basic_ability.decided, ability));
- mc_secure_debug("IsSupported: %d", MC_BIT64_IS_TRUE(basic_ability.supported, ability));
+ *decided = _decided;
+ *supported = _supported;
+
+ return ret;
+
+}
+
+int mc_db_get_ability_supported(void *handle, const char *server_name, mc_ability_e ability, mc_ability_support_e *supported)
+{
+ int ret = MEDIA_CONTROLLER_ERROR_NONE;
+ unsigned long long _decided = 0;
+ unsigned long long _supported = 0;
+
+ mc_retvm_if((ability < MC_ABILITY_ACTION || ability > MC_ABILITY_REPEAT), MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "ability is Invalid");
+
+ ret = __mc_db_get_ability(handle, server_name, &_decided, &_supported);
+ mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "__mc_db_get_ability failed");
+
+ mc_secure_debug("IsDecided: %d", MC_BIT64_IS_TRUE(_decided, ability));
+ mc_secure_debug("IsSupported: %d", MC_BIT64_IS_TRUE(_supported, ability));
- if (MC_BIT64_IS_TRUE(basic_ability.decided, ability)) {
- if (MC_BIT64_IS_TRUE(basic_ability.supported, ability))
+ if (MC_BIT64_IS_TRUE(_decided, ability)) {
+ if (MC_BIT64_IS_TRUE(_supported, ability))
*supported = MC_ABILITY_SUPPORTED_YES;
else
*supported = MC_ABILITY_SUPPORTED_NO;
{
int ret = MEDIA_CONTROLLER_ERROR_NONE;
media_controller_ability_s *basic_ability = NULL;
+ unsigned long long _decided = 0;
+ unsigned long long _supported = 0;
- mc_retvm_if(handle == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "Handle is NULL");
- mc_retvm_if(server_name == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "server_name is NULL");
- mc_retvm_if(ability == NULL, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "ability is NULL");
+ mc_retvm_if(!ability, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER, "invliad ability");
- basic_ability = (media_controller_ability_s *)calloc(1, sizeof(media_controller_ability_s));
- mc_retvm_if(basic_ability == NULL, MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY, "malloc failed");
+ ret = __mc_db_get_ability(handle, server_name, &_decided, &_supported);
+ mc_retvm_if(ret != MEDIA_CONTROLLER_ERROR_NONE, ret, "__mc_db_get_ability failed");
- ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_decided", &basic_ability->decided);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- MC_SAFE_FREE(basic_ability);
- return ret;
- }
+ basic_ability = (media_controller_ability_s *)calloc(1, sizeof(media_controller_ability_s));
+ mc_retvm_if(!basic_ability, MEDIA_CONTROLLER_ERROR_OUT_OF_MEMORY, "malloc failed");
- ret = __mc_db_get_ulonglong_value_of_key(handle, server_name, "ability_supported", &basic_ability->supported);
- if (ret != MEDIA_CONTROLLER_ERROR_NONE) {
- MC_SAFE_FREE(basic_ability);
- return ret;
- }
+ basic_ability->decided = _decided;
+ basic_ability->supported = _supported;
*ability = (mc_playback_ability_h)basic_ability;