Tizen 2.0 Release
[platform/core/messaging/email-service.git] / email-core / include / email-core-timer.h
1 /*
2 *  email-service
3 *
4 * Copyright (c) 2012 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
5 *
6 * Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
7
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 */
21
22 #include "email-internal-types.h"
23
24 typedef void (*EMAIL_TIMER_CALLBACK)(void *a_pData);
25
26 /**
27  * Callback for timeout action
28  *
29  * @param[in] a_pData                   Specifies the data passed to callback.
30  * @return This function returns true for repeat alerts or false for mail resend.
31  */
32 INTERNAL_FUNC int emcore_timer_ex_callback(void *a_pData);
33
34 /**
35  * Set timer
36  *
37  * @param[in] a_nSetTimeValue   Specifies the timeout value.
38  * @param[in] a_pCallBack               Specifies the Callback to be called on timeout
39  * @param[in] a_pData           Specifies the pointer to user data to be passed to Callback.
40  * @remarks N/A
41  * @return This function returns the timer id.
42  */
43 INTERNAL_FUNC int emcore_set_timer_ex(long a_nSetTimeValue, EMAIL_TIMER_CALLBACK a_pCallBack, void *a_pData);
44
45 /**
46  * Kill timer.
47  *
48  * @param[in] a_nTimerID                Specifies the timer id.
49  * @remarks N/A
50  * @return This function returns void.
51  */
52 INTERNAL_FUNC void emcore_kill_timer_ex(int a_nTimerID);