Tizen 2.0 Release
[framework/system/oma-dm-agent.git] / include / serviceadapter / sa_elements_internal.h
1 /*
2  * oma-dm-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 #ifndef SA_ELEMENTS_INTERNAL_H_
19 #define SA_ELEMENTS_INTERNAL_H_
20
21 /*dm-agent*/
22 #include "serviceadapter/sa_define.h"
23
24 typedef union ItemData {
25         char *data;
26 } ItemData;
27
28 struct Hmac {
29         char *authtype;
30         char *username;
31         char *mac;
32 };
33
34 struct Chal {
35         FormatType format;
36         AuthType type;
37         char *nonce_plain;
38         unsigned int nonce_length;
39         char *nonce_b64;
40 };
41
42 struct Item {
43         ItemDataType dataType;
44         ItemData private;
45         Location *source;
46         Location *target;
47
48         unsigned int size;      //-> for data
49         char *contenttype;      //-> for data
50         char *format;
51         int moreData;           //-> for moredata
52 };
53
54 struct Location {
55         char *locURI;
56         char *locName;
57 };
58
59 struct Cred {
60         FormatType format;
61         AuthType type;
62         char *data;
63         char *username;
64         char *password;
65 };
66
67 struct SyncHdr {
68         char *sessionID;
69         ProtocolVersion version;
70         ProtocolType protocol;
71         Location *source;
72         Location *target;
73         Cred *cred;
74         char *responseURI;
75         unsigned int messageID;
76
77         //in meta element
78         unsigned int maxmsgsize;
79         unsigned int maxobjsize;
80         //char *emi;(?)         // Experimental Meta Information
81 };
82
83 struct SyncML {
84         SyncHdr *hdr;
85         GList *status;                  /**< containing  Status struct */
86         GList *commands;                /**< containing  Command struct */
87         int final;
88 };
89
90 #endif                          /* SA_ELEMENTS_INTERNAL_H_ */