/* * Copyright (c) 2018 Samsung Electronics Co., Ltd. * * Licensed under the Flora License, Version 1.1 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://floralicense.org/license/ * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef __SCHEDULER_H_ #define __SCHEDULER_H_ #include #include "config.h" typedef struct scheduler scheduler_t; /** * @brief Creates new instance of scheduler_t. * @return new scheduler_t object, or NULL on error. */ scheduler_t *scheduler_create(); /** * @brief Destroys scheduler. * @param[in] scheduler Scheduler object. */ void scheduler_destroy(scheduler_t *scheduler); /** * @brief Changes current tasks config. * @param[in] task_configs Array with tasks config. * @param[in] config_size Size of the task_configs array. * @param[in] timeout After this time scheduler will stop working. */ void scheduler_change_config(scheduler_t *scheduler, const config_t *task_configs, size_t config_size, int timeout); #endif