Tizen 2.0 Release
[platform/core/messaging/email-service.git] / email-core / include / email-core-task-manager.h
1 /*\r
2 *  email-service\r
3 *\r
4 * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.\r
5 *\r
6 * Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>\r
7 *\r
8 * Licensed under the Apache License, Version 2.0 (the "License");\r
9 * you may not use this file except in compliance with the License.\r
10 * You may obtain a copy of the License at\r
11 *\r
12 * http://www.apache.org/licenses/LICENSE-2.0\r
13 *\r
14 * Unless required by applicable law or agreed to in writing, software\r
15 * distributed under the License is distributed on an "AS IS" BASIS,\r
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17 * See the License for the specific language governing permissions and\r
18 * limitations under the License.\r
19 *\r
20 */\r
21 \r
22 /*\r
23  * email-core-task-manager.h\r
24  *\r
25  *  Created on: 2012. 11. 1.\r
26  *      Author: kyuho.jo@samsung.com\r
27  */\r
28 \r
29 #ifndef EMAIL_CORE_TASK_MANAGER_H_\r
30 #define EMAIL_CORE_TASK_MANAGER_H_\r
31 \r
32 #include "email-internal-types.h"\r
33 #include "email-core-tasks.h"\r
34 \r
35 INTERNAL_FUNC int emcore_init_task_handler_array();\r
36 INTERNAL_FUNC int emcore_free_task_handler_array();\r
37 \r
38 INTERNAL_FUNC int emcore_encode_task_parameter(email_task_type_t input_task_type, void *input_task_parameter_struct, char **output_byte_stream, int *output_stream_size);\r
39 INTERNAL_FUNC int emcore_decode_task_parameter(email_task_type_t input_task_type, char *input_byte_stream, int input_stream_size, void **output_task_parameter_struct);\r
40 \r
41 INTERNAL_FUNC int emcore_add_task_to_task_table(email_task_type_t input_task_type, email_task_priority_t input_task_priority, char *input_task_parameter, int input_task_parameter_length, int *output_task_id);\r
42 INTERNAL_FUNC int emcore_remove_task_from_task_table(int input_task_id);\r
43 INTERNAL_FUNC int emcore_get_active_task_by_thread_id(thread_t input_thread_id, email_active_task_t **output_active_task);\r
44 \r
45 INTERNAL_FUNC int emcore_start_task_manager_loop();\r
46 INTERNAL_FUNC int emcore_stop_task_manager_loop();\r
47 \r
48 #endif /* EMAIL_CORE_TASK_MANAGER_H_ */\r