upload tizen1.0 source
[pkgs/o/oma-ds-service.git] / include / ServiceAdapter / SA_Define.h
1 /*
2  * oma-ds-service
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: JuHak Park <juhaki.park@samsung.com>,
7  *          JuneHyuk Lee <junhyuk7.lee@samsung.com>,
8  *          SunBong Ha <sunbong.ha@samsung.com>
9  *
10  * Licensed under the Apache License, Version 2.0 (the "License");
11  * you may not use this file except in compliance with the License.
12  * You may obtain a copy of the License at
13  *
14  * http://www.apache.org/licenses/LICENSE-2.0
15  *
16  * Unless required by applicable law or agreed to in writing, software
17  * distributed under the License is distributed on an "AS IS" BASIS,
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  * See the License for the specific language governing permissions and
20  * limitations under the License.
21  *
22  */
23
24
25
26
27
28 /*
29  * For any sort of issue you concern as to this software,
30  * you may use following point of contact.
31  * All resources contributed on this software
32  * are orinigally written by S-Core Inc., a member of Samsung Group.
33  *
34  * SeongWon Shim <seongwon.shim@samsung.com>
35  */
36
37 /**
38  *   @SA_Define.h
39  *   @version                                                                   0.1
40  *   @brief                                                                             This file is the header file of defined structure and enumeration used in SA
41  */
42
43 #ifndef SA_DEFINE_H_
44 #define SA_DEFINE_H_
45
46 #include <malloc.h>
47 #include <glib.h>
48 #include <assert.h>
49 #include <string.h>
50 #include <stdbool.h>
51
52 #include "ServiceAdapter/SA_Error.h"
53
54 #define DEFINE_PROTOCOL_TYPE "OMA_DS"
55
56
57
58 #define ELEMENT_DEVINF_10 "./devinf10"
59 #define ELEMENT_DEVINF_11 "./devinf11"
60 #define ELEMENT_DEVINF_12 "./devinf12"
61
62 #define ELEMENT_DEVINF_XML "application/vnd.syncml-devinf+xml"
63 #define ELEMENT_DEVINF_WBXML "application/vnd.syncml-devinf+wbxml"
64 #define ELEMENT_WBXML "application/vnd.syncml+wbxml"
65 #define ELEMENT_XML "application/vnd.syncml+xml"
66
67 #define ELEMENT_AUTH_BASIC "syncml:auth-basic"
68 #define ELEMENT_AUTH_MD5 "syncml:auth-md5"
69 #define ELEMENT_FORMAT_BASE64 "b64"
70
71 #define OMA_DS_HTTP_DEFAULT_CLIENT_MAX_MSG_SIZE 1024*12
72 #define OMA_DS_HTTP_DEFAULT_CLIENT_MAX_OBJ_SIZE 1024*1024
73
74 /*#define OMA_DS_HTTP_DEFAULT_SERVER_MAX_MSG_SIZE 61440*/
75 #define OMA_DS_HTTP_DEFAULT_SERVER_MAX_MSG_SIZE 1024*5
76
77 typedef struct Item Item;
78 typedef struct Status Status;
79 typedef struct Command Command;
80 typedef struct Anchor Anchor;
81 typedef struct Location Location;
82 typedef struct Cred Cred;
83 typedef struct SyncML SyncML;
84 typedef struct SyncHdr SyncHdr;
85 typedef struct Chal Chal;
86 typedef struct DevInf DevInf;
87 typedef struct DevInfDataStore DevInfDataStore;
88 typedef struct DevInfContentType DevInfContentType;
89 typedef struct DevInfCTCap DevInfCTCap;
90 typedef struct DevInfProperty DevInfProperty;
91 typedef struct DevInfPropParam DevInfPropParam;
92 typedef struct FilterCap FilterCap;
93 typedef struct Session Session;
94 typedef struct PendingStatus PendingStatus;
95
96
97 typedef enum {
98         VERSION_UNKNOWN = 0,
99         VERSION_10 = 1,
100         VERSION_11 = 2,
101         VERSION_12 = 3
102 } ProtocolVersion;
103
104 typedef enum {
105         PROTOCOL_TYPE_UNKNOWN = 0,
106         PROTOCOL_TYPE_DS = 1,
107 } ProtocolType;
108
109 typedef enum {
110         COMMAND_TYPE_UNKNOWN = 0,
111         COMMAND_TYPE_ALERT = 1,
112         COMMAND_TYPE_SYNC_START = 2,
113         COMMAND_TYPE_SYNC_END = 3,
114         COMMAND_TYPE_PUT = 4,
115         COMMAND_TYPE_HEADER = 5,
116         COMMAND_TYPE_ADD = 6,
117         COMMAND_TYPE_REPLACE = 7,
118         COMMAND_TYPE_DELETE = 8,
119         COMMAND_TYPE_MAP = 9,
120         COMMAND_TYPE_GET = 10,
121         COMMAND_TYPE_RESULTS = 11
122 } CommandType;
123
124
125 typedef enum {
126         AUTH_TYPE_UNKNOWN = 0,
127         AUTH_TYPE_BASIC = 1,
128         AUTH_TYPE_MD5 = 2
129 } AuthType;
130
131 typedef enum {
132         FORMAT_TYPE_UNKNOWN = 0,
133         FORMAT_TYPE_BASE64 = 1
134 } FormatType;
135
136 typedef enum  {
137         DEVINF_VERSION_UNKNOWN = 0,
138         DEVINF_VERSION_10 = 1,
139         DEVINF_VERSION_11 = 2,
140         DEVINF_VERSION_12 = 3
141 } DevInfVersion;
142
143 typedef enum {
144         DEVINF_DEVTYPE_UNKNOWN,
145         DEVINF_DEVTYPE_PAGER,
146         DEVINF_DEVTYPE_HANDHELD,
147         DEVINF_DEVTYPE_PDA,
148         DEVINF_DEVTYPE_PHONE,
149         DEVINF_DEVTYPE_SMARTPHONE,
150         DEVINF_DEVTYPE_SERVER,
151         DEVINF_DEVTYPE_WORKSTATION
152 } DevInfDevTyp;
153
154 typedef enum {
155         DEVINF_SYNCTYPE_UNKNOWN = 0,
156         DEVINF_SYNCTYPE_TWO_WAY = 1,
157         DEVINF_SYNCTYPE_SLOW_SYNC = 1 << 1,
158         DEVINF_SYNCTYPE_ONE_WAY_FROM_CLIENT = 1 << 2,
159         DEVINF_SYNCTYPE_REFRESH_FROM_CLIENT = 1 << 3,
160         DEVINF_SYNCTYPE_ONE_WAY_FROM_SERVER = 1 << 4,
161         DEVINF_SYNCTYPE_REFRESH_FROM_SERVER = 1 << 5,
162         DEVINF_SYNCTYPE_SERVER_ALERTED_SYNC = 1 << 6
163 } DevInfSyncCap;
164
165 typedef enum {
166         SYNCML_PKG_1 = 1,
167         SYNCML_PKG_2 = 2,
168         SYNCML_PKG_3 = 3,
169         SYNCML_PKG_4 = 4,
170         SYNCML_PKG_5 = 5,
171         SYNCML_PKG_6 = 6
172 } PkgStatus;
173
174 typedef enum {
175         ITEM_UNKNOWN = 0,
176         ITEM_DATA = 1,
177         ITEM_DEVINF = 2,
178 } ItemDataType;
179
180 #endif /* SA_DEFINE_H_ */