SLOG(LOG_ERROR, TAG_VCCMD, "[ERROR] Input parameter is NULL");
return VC_ERROR_INVALID_PARAMETER;
}
+ *vc_sys_cmd_list = NULL;
vc_state_e state;
if (0 != vc_client_get_client_state(g_vc, &state)) {
return VC_ERROR_OPERATION_FAILED;
}
- vc_cmd_list_s* list = NULL;
- list = (vc_cmd_list_s*)(*vc_sys_cmd_list);
if (true == is_sys_cmd_valid) {
+ vc_cmd_list_s* list = NULL;
+ ret = vc_cmd_list_create((vc_cmd_list_h*)&list);
+ if (0 != ret) {
+ SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to create command list"); //LCOV_EXCL_LINE
+ return ret;
+ }
+
ret = vc_cmd_parser_get_commands(mgr_pid, VC_COMMAND_TYPE_SYSTEM, &(list->list));
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to get parsing commands"); //LCOV_EXCL_LINE
+ vc_cmd_list_destroy((vc_cmd_list_h)list, true);
return ret;
}
+
ret = vc_cmd_parser_get_commands(mgr_pid, VC_COMMAND_TYPE_SYSTEM_BACKGROUND, &(list->list));
if (0 != ret) {
SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Fail to get parsing commands"); //LCOV_EXCL_LINE
+ vc_cmd_list_destroy((vc_cmd_list_h)list, true);
return ret;
}
+
*vc_sys_cmd_list = (vc_cmd_list_h)list;
} else {
SLOG(LOG_WARN, TAG_VCC, "[WARNING] No system commands"); //LCOV_EXCL_LINE
- *vc_sys_cmd_list = NULL;
return VC_ERROR_NONE;
}
* @privilege %http://tizen.org/privilege/recorder
* @remarks In the system command list, there are system commands predefined by product manufacturers. Those commands have the highest priority.
* Therefore, the user can not set any commands same with the system commands.
- * The @a vc_sys_cmd_list must be released using free() when it is no longer required.
+ * The @a vc_sys_cmd_list must be released using vc_cmd_list_destroy() when it is no longer required.
* @param[out] vc_sys_cmd_list System command list handle
* @return @c 0 on success,
* otherwise a negative error value
* @retval #VC_ERROR_PERMISSION_DENIED Permission denied
* @retval #VC_ERROR_NOT_SUPPORTED Not supported
* @pre The service state should be #VC_SERVICE_STATE_READY.
- * @see vc_unset_command_list()
+ * @see vc_cmd_list_destroy()
*/
int vc_get_system_command_list(vc_cmd_list_h* vc_sys_cmd_list);