report-json-serializer: app and top serializers
[apps/native/ttsd-worker-task.git] / src / scheduler.h
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Flora License, Version 1.1 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://floralicense.org/license/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef __SCHEDULER_H_
18 #define __SCHEDULER_H_
19
20 #include <stddef.h>
21 #include "config.h"
22
23 typedef struct scheduler scheduler_t;
24
25 /**
26  * @brief Creates new instance of scheduler_t.
27  * @return new scheduler_t object, or NULL on error.
28  */
29 scheduler_t *scheduler_create();
30
31 /**
32  * @brief Destroys scheduler.
33  * @param[in] scheduler Scheduler object.
34  */
35 void scheduler_destroy(scheduler_t *scheduler);
36
37 /**
38  * @brief Changes current tasks config.
39  * @param[in] task_configs Array with tasks config.
40  * @param[in] config_size Size of the task_configs array.
41  */
42 void scheduler_change_config(scheduler_t *scheduler, const config_t *task_configs, size_t config_size);
43
44 #endif
45