2 * Copyright 2018 Samsung Electronics Co., Ltd
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
8 * http://floralicense.org/license/
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.
21 #include "report-generator.h"
24 * @brief The task template.
26 typedef struct task task_t;
29 * @brief Called on the task execution.
31 typedef void(*task_execute_cb)(task_t *task);
34 * @brief Called on the task release.
36 typedef void(*task_release_cb)(task_t *task);
39 * @brief Base task structure.
43 task_execute_cb execute;
44 task_release_cb release;
48 * @brief System task structure.
50 typedef struct system_task
53 report_generator_system_t *report_generator;
57 * @brief Application task structure.
59 typedef struct app_task
62 report_generator_app_t *report_generator;
66 * @brief Process task structure.
68 typedef struct process_task
71 report_generator_process_t *report_generator;
76 * @brief Releases the task.
77 * @param[in] task The task handle.
79 void task_release(task_t *task);
82 * @brief Executes the task.
83 * @param[in] task The task handle.
85 void task_execute(task_t *task);