4 * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
\r
6 * Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
\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
12 * http://www.apache.org/licenses/LICENSE-2.0
\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
22 * email-core-tasks.h
\r
24 * Created on: 2012. 11. 5.
\r
25 * Author: kyuho.jo@samsung.com
\r
28 #ifndef EMAIL_CORE_TASKS_H_
\r
29 #define EMAIL_CORE_TASKS_H_
\r
31 #include "email-internal-types.h"
\r
35 email_task_type_t task_type;
\r
36 void* (*task_handler_function)(void*);
\r
37 int (*task_parameter_encoder)(void*, char**, int*);
\r
38 int (*task_parameter_decoder)(char*, int, void**);
\r
39 } email_task_handler_t;
\r
44 email_task_type_t task_type;
\r
45 email_task_status_type_t task_status;
\r
46 email_task_priority_t task_priority;
\r
47 int task_parameter_length;
\r
48 char *task_parameter;
\r
50 /* Not be stored in DB*/
\r
55 #define DECLARE_CONVERTER_FOR_TASK_PARAMETER(TASK_NAME) INTERNAL_FUNC int email_encode_task_parameter_##TASK_NAME(void *input_task_parameter_struct, char **output_byte_stream, int *output_stream_size); \
\r
56 INTERNAL_FUNC int email_decode_task_parameter_##TASK_NAME(char *input_byte_stream, int input_stream_size, void **output_task_parameter_struct);
\r
58 /*-------------------------------------------------------------------------------------------*/
\r
59 /* to handle _EMAIL_ASYNC_TASK_MOVE_MAILS_TO_MAILBOX_OF_ANOTHER_ACCOUNT */
\r
62 int source_mailbox_id;
\r
63 int target_mailbox_id;
\r
66 } task_parameter_EMAIL_ASYNC_TASK_MOVE_MAILS_TO_MAILBOX_OF_ANOTHER_ACCOUNT;
\r
68 DECLARE_CONVERTER_FOR_TASK_PARAMETER(EMAIL_ASYNC_TASK_MOVE_MAILS_TO_MAILBOX_OF_ANOTHER_ACCOUNT);
\r
69 INTERNAL_FUNC void* task_handler_EMAIL_ASYNC_TASK_MOVE_MAILS_TO_MAILBOX_OF_ANOTHER_ACCOUNT(void *param);
\r
71 /*-------------------------------------------------------------------------------------------*/
\r
72 /* to handle EMAIL_ASYNC_TASK_DELETE_MAILBOX_EX */
\r
76 int mailbox_id_count;
\r
77 int *mailbox_id_array;
\r
79 } task_parameter_EMAIL_ASYNC_TASK_DELETE_MAILBOX_EX;
\r
81 DECLARE_CONVERTER_FOR_TASK_PARAMETER(EMAIL_ASYNC_TASK_DELETE_MAILBOX_EX);
\r
82 INTERNAL_FUNC void* task_handler_EMAIL_ASYNC_TASK_DELETE_MAILBOX_EX(void *input_param);
\r
83 /*-------------------------------------------------------------------------------------------*/
\r
84 /* to handle EMAIL_ASYNC_TASK_SEND_MAIL_WITH_DOWNLOADING_ATTACHMENT_OF_ORIGINAL_MAIL */
\r
88 } task_parameter_EMAIL_ASYNC_TASK_SEND_MAIL_WITH_DOWNLOADING_ATTACHMENT_OF_ORIGINAL_MAIL;
\r
90 DECLARE_CONVERTER_FOR_TASK_PARAMETER(EMAIL_ASYNC_TASK_SEND_MAIL_WITH_DOWNLOADING_ATTACHMENT_OF_ORIGINAL_MAIL);
\r
91 INTERNAL_FUNC void* task_handler_EMAIL_ASYNC_TASK_SEND_MAIL_WITH_DOWNLOADING_ATTACHMENT_OF_ORIGINAL_MAIL(void *input_param);
\r
92 /*-------------------------------------------------------------------------------------------*/
\r
93 #endif /* EMAIL_CORE_TASKS_H_ */
\r