summaryrefslogtreecommitdiff
path: root/email-daemon/include/email-daemon-emn.h
blob: b11dc4d6df47a8ac6ca79caef746dcb19973e50d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
*  email-service
*
* Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
*
* Contact: Kyuho Jo <kyuho.jo@samsung.com>, Sunghyun Kwon <sh0701.kwon@samsung.com>
* 
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/



/**
 * This file defines all APIs of EMN.
 * @file	email-daemon-emn.h
 * @author	Kyuho Jo(kyuho.jo@samsung.com)
 * @version	0.1
 * @brief	This file is the header file of EMN library.
 */

#ifndef __EMAIL_DAEMON_EMN_H__
#define __EMAIL_DAEMON_EMN_H__

/**
* @ingroup EMAIL_SERVICE
* @defgroup EMN EMN
* @{
*/

#include "email-internal-types.h"

#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */

enum
{
	EMN_HEADER_DATA = 0,
	EMN_WBXML_DATA,
};

/* Error Values for the Email options */
enum
{
	EMAIL_OPTION_ERROR_NONE = 0,
	EMAIL_OPTION_ERROR_INVALID_PARAM,
	EMAIL_OPTION_ERROR_STORAGE,
};

/* Manual Network value */
#define   EMAIL_OPTION_NETWORK_MANUAL  1


/* Enums for the Gcong Option Key */
typedef enum
{
	EMAIL_OPTION_KEY_HOME_NETWORK = 0,
	EMAIL_OPTION_KEY_ROAMING_NETWORK,
}optionkey;


int emdaemon_initialize_emn(void);
int emdaemon_finalize_emn(int bExtDest);

/** 
 * This callback specifies the callback of retrieving the result that is downloaded new messages.
 *
 * @param[in] mail_count	Specifies count of new mail.
 * @param[in] user_data		Specifies the user data.
 * @param[in] err_code		Specifies the error code.
 * @remarks N/A
 * @return This function returns true on success or false on failure.
 */
typedef int (*email_emn_noti_cb)(
	void*					user_data,
	int                     err_code
);

#ifdef USE_OMA_EMN
/**
 * Handle OMA EMN data
 *
 * @param[in] wbxml_b64		Specifies the encoded string
 * @param[in] callback		Specifies the callback function for retrieving the result that is downloaded new mail.
 * @param[out] err_code		Specifies the error code returned.
 * @remarks N/A
 * @return This function returns true on success or false on failure.
 */
INTERNAL_FUNC int emdaemon_handle_emn_notification(unsigned char* wbxml_b64, email_emn_noti_cb callback, int* err_code);
#endif

#ifdef __cplusplus
}
#endif /* __cplusplus */

/**
* @} @}
*/


#endif /* __EMAIL_DAEMON_EMN_H__ */
/* EOF */