Update change log and spec for wrt-plugins-tizen_0.4.38
[framework/web/wrt-plugins-tizen.git] / src / Messaging / MessageFilterConverter.cpp
1 //
2 // Tizen Web Device API
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 /**
19  * @file        MessageFilterConverter.cpp
20  * @author      Kisub Song (kisubs.song@samsung.com)
21  * @version     0.1
22  * @description Reference from CalendarConverter.cpp
23  */
24
25 #include "MessageFilterConverter.h"
26 #include <Logger.h>
27
28 namespace DeviceAPI {
29 namespace Messaging {
30
31 using namespace std;
32 using namespace DeviceAPI::Tizen;
33
34 #define ATTRIBUTE_ACCOUNT_ID        "serviceId"
35 #define ATTRIBUTE_ATTACHMENT        "hasAttachment"
36 #define ATTRIBUTE_BCC               "bcc"
37 #define ATTRIBUTE_BODY              "body.plainBody"
38 #define ATTRIBUTE_CC                "cc"
39 #define ATTRIBUTE_CONTENT_TYPE      "contentType"
40 #define ATTRIBUTE_CONVERSATION_ID   "conversationId"
41 #define ATTRIBUTE_FOLDER_ID         "folderId"
42 #define ATTRIBUTE_FOLDERPATH        "path"
43 #define ATTRIBUTE_FROM              "from"
44 #define ATTRIBUTE_HAS_ATTACHMENT    "hasAttachment"
45 #define ATTRIBUTE_ID                "id"
46 #define ATTRIBUTE_IS_READ           "isRead"
47 #define ATTRIBUTE_IS_RESPONSE_TO    "isResponseTo"
48 #define ATTRIBUTE_LAST_MESSAGE_ID   "lastMessageId"
49 #define ATTRIBUTE_MESSAGE_COUNT     "messageCount"
50 #define ATTRIBUTE_MESSAGE_STATUS    "messageStatus"
51 #define ATTRIBUTE_NAME              "name"
52 #define ATTRIBUTE_PARENT_ID         "parentId"
53 #define ATTRIBUTE_PATH              "path"
54 #define ATTRIBUTE_PREVIEW           "preview"
55 #define ATTRIBUTE_PRIORITY          "isHighPriority"
56 #define ATTRIBUTE_SERVICE_ID        "serviceId"
57 #define ATTRIBUTE_SUBJECT           "subject"
58 #define ATTRIBUTE_SYNCHRONIZABLE    "synchronizable"
59 #define ATTRIBUTE_TIMESTAMP         "timestamp"
60 #define ATTRIBUTE_TO                "to"
61 #define ATTRIBUTE_TYPE              "type"
62 #define ATTRIBUTE_UNREAD_MESSAGES   "unreadMessages"
63
64 static PropertyStructArray propertiesMessages =
65 {
66                 { ATTRIBUTE_ID,                 PrimitiveType_String },
67                 { ATTRIBUTE_SERVICE_ID,         PrimitiveType_String },
68                 { ATTRIBUTE_TYPE,               PrimitiveType_String },
69                 { ATTRIBUTE_FOLDER_ID,          PrimitiveType_String },
70                 { ATTRIBUTE_TIMESTAMP,          PrimitiveType_Time },
71                 { ATTRIBUTE_FROM,               PrimitiveType_String },
72                 { ATTRIBUTE_TO,                 PrimitiveType_String },
73                 { ATTRIBUTE_CC,                 PrimitiveType_String },
74                 { ATTRIBUTE_BCC,                PrimitiveType_String },
75                 { ATTRIBUTE_BODY,               PrimitiveType_String },
76                 { ATTRIBUTE_IS_READ,            PrimitiveType_Boolean },
77                 { ATTRIBUTE_PRIORITY,           PrimitiveType_Boolean },
78                 { ATTRIBUTE_SUBJECT,            PrimitiveType_String },
79                 { ATTRIBUTE_ATTACHMENT,         PrimitiveType_Boolean },
80                 { 0,                            PrimitiveType_NoType }
81 };
82
83 static PropertyStructArray propertiesConversations =
84 {
85                 { ATTRIBUTE_ID,                 PrimitiveType_String },
86                 { ATTRIBUTE_TYPE,               PrimitiveType_String },
87                 { ATTRIBUTE_TIMESTAMP,          PrimitiveType_Time },
88                 { ATTRIBUTE_MESSAGE_COUNT,      PrimitiveType_ULong },
89                 { ATTRIBUTE_UNREAD_MESSAGES,    PrimitiveType_ULong },
90                 { ATTRIBUTE_PREVIEW,            PrimitiveType_String },
91                 { ATTRIBUTE_FROM,               PrimitiveType_String },
92                 { ATTRIBUTE_TO,                 PrimitiveType_String },
93                 { 0,                            PrimitiveType_NoType }
94 };
95
96 static PropertyStructArray propertiesFolders =
97 {
98                 { ATTRIBUTE_ACCOUNT_ID,         PrimitiveType_String },
99                 { ATTRIBUTE_FOLDERPATH,         PrimitiveType_String },
100                 { 0,                            PrimitiveType_NoType }
101 };
102
103 static PropertyStructArray propertiesMessagesChange =
104 {
105                 { ATTRIBUTE_ID,                                 PrimitiveType_String },
106                 { ATTRIBUTE_SERVICE_ID,         PrimitiveType_String },
107                 { ATTRIBUTE_CONVERSATION_ID,    PrimitiveType_String },
108                 { ATTRIBUTE_FOLDER_ID,          PrimitiveType_String },
109                 { ATTRIBUTE_TYPE,               PrimitiveType_String },
110                 { ATTRIBUTE_TIMESTAMP,          PrimitiveType_Time },
111                 { ATTRIBUTE_FROM,               PrimitiveType_String },
112                 { ATTRIBUTE_TO,                 PrimitiveType_String },
113                 { ATTRIBUTE_CC,                 PrimitiveType_String },
114                 { ATTRIBUTE_BCC,                PrimitiveType_String },
115                 { ATTRIBUTE_BODY,               PrimitiveType_String },
116                 { ATTRIBUTE_IS_READ,            PrimitiveType_Boolean },
117                 { ATTRIBUTE_HAS_ATTACHMENT,     PrimitiveType_Boolean },
118                 { ATTRIBUTE_PRIORITY,           PrimitiveType_Boolean },
119                 { ATTRIBUTE_SUBJECT,            PrimitiveType_String },
120                 { ATTRIBUTE_IS_RESPONSE_TO,     PrimitiveType_String },
121                 { ATTRIBUTE_MESSAGE_STATUS,     PrimitiveType_String },
122                 { 0,                            PrimitiveType_NoType }
123 };
124
125 static PropertyStructArray propertiesConversationsChange =
126 {
127                 { ATTRIBUTE_ID,                 PrimitiveType_String },
128                 { ATTRIBUTE_TYPE,               PrimitiveType_String },
129                 { ATTRIBUTE_TIMESTAMP,          PrimitiveType_Time },
130                 { ATTRIBUTE_MESSAGE_COUNT,      PrimitiveType_ULong },
131                 { ATTRIBUTE_UNREAD_MESSAGES,    PrimitiveType_ULong },
132                 { ATTRIBUTE_PREVIEW,            PrimitiveType_String },
133                 { ATTRIBUTE_SUBJECT,            PrimitiveType_String },
134                 { ATTRIBUTE_IS_READ,            PrimitiveType_Boolean },
135                 { ATTRIBUTE_FROM,               PrimitiveType_String },
136                 { ATTRIBUTE_TO,                 PrimitiveType_String },
137                 { ATTRIBUTE_CC,                 PrimitiveType_String },
138                 { ATTRIBUTE_BCC,                PrimitiveType_String },
139                 { ATTRIBUTE_LAST_MESSAGE_ID,    PrimitiveType_String },
140                 { 0,                            PrimitiveType_NoType }
141 };
142
143 static PropertyStructArray propertiesFoldersChange =
144 {
145                 { ATTRIBUTE_ID,                 PrimitiveType_String },
146                 { ATTRIBUTE_PARENT_ID,          PrimitiveType_String },
147                 { ATTRIBUTE_ACCOUNT_ID,         PrimitiveType_String },
148                 { ATTRIBUTE_CONTENT_TYPE,       PrimitiveType_String },
149                 { ATTRIBUTE_NAME,               PrimitiveType_String },
150                 { ATTRIBUTE_PATH,               PrimitiveType_String },
151                 { ATTRIBUTE_TYPE,               PrimitiveType_String },
152                 { ATTRIBUTE_SYNCHRONIZABLE,     PrimitiveType_Boolean },
153                 { 0,                            PrimitiveType_NoType }
154 };
155
156 MessageMessagesFilterConverter::MessageMessagesFilterConverter(JSContextRef context) :
157                 FilterConverter(context, propertiesMessages, false)
158 {
159 }
160
161 MessageMessagesFilterConverter::~MessageMessagesFilterConverter()
162 {
163         LoggerD("entered");
164 }
165
166 MessageConversationsFilterConverter::MessageConversationsFilterConverter(JSContextRef context) :
167                 FilterConverter(context, propertiesConversations, false)
168 {
169 }
170
171 MessageConversationsFilterConverter::~MessageConversationsFilterConverter()
172 {
173         LoggerD("entered");
174 }
175
176 MessageFoldersFilterConverter::MessageFoldersFilterConverter(JSContextRef context) :
177                 FilterConverter(context, propertiesFolders, false)
178 {
179 }
180
181 MessageFoldersFilterConverter::~MessageFoldersFilterConverter()
182 {
183         LoggerD("entered");
184 }
185
186 MessageMessagesChangeFilterConverter::MessageMessagesChangeFilterConverter(JSContextRef context) :
187                 FilterConverter(context, propertiesMessagesChange, false)
188 {
189 }
190
191 MessageMessagesChangeFilterConverter::~MessageMessagesChangeFilterConverter()
192 {
193         LoggerD("entered");
194 }
195
196 MessageConversationsChangeFilterConverter::MessageConversationsChangeFilterConverter(JSContextRef context) :
197                 FilterConverter(context, propertiesConversationsChange, false)
198 {
199 }
200
201 MessageConversationsChangeFilterConverter::~MessageConversationsChangeFilterConverter()
202 {
203         LoggerD("entered");
204 }
205
206 MessageFoldersChangeFilterConverter::MessageFoldersChangeFilterConverter(JSContextRef context) :
207                 FilterConverter(context, propertiesFoldersChange, false)
208 {
209 }
210
211 MessageFoldersChangeFilterConverter::~MessageFoldersChangeFilterConverter()
212 {
213         LoggerD("entered");
214 }
215
216 } // Messaging
217 } // DeviceAPI
218