2 // Tizen Web Device API
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
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
9 // http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file MessageFilterConverter.cpp
20 * @author Kisub Song (kisubs.song@samsung.com)
22 * @description Reference from CalendarConverter.cpp
25 #include "MessageFilterConverter.h"
32 using namespace DeviceAPI::Tizen;
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"
64 static PropertyStructArray propertiesMessages =
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 }
83 static PropertyStructArray propertiesConversations =
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 }
96 static PropertyStructArray propertiesFolders =
98 { ATTRIBUTE_ACCOUNT_ID, PrimitiveType_String },
99 { ATTRIBUTE_FOLDERPATH, PrimitiveType_String },
100 { 0, PrimitiveType_NoType }
103 static PropertyStructArray propertiesMessagesChange =
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 }
125 static PropertyStructArray propertiesConversationsChange =
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 }
143 static PropertyStructArray propertiesFoldersChange =
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 }
156 MessageMessagesFilterConverter::MessageMessagesFilterConverter(JSContextRef context) :
157 FilterConverter(context, propertiesMessages, false)
161 MessageMessagesFilterConverter::~MessageMessagesFilterConverter()
166 MessageConversationsFilterConverter::MessageConversationsFilterConverter(JSContextRef context) :
167 FilterConverter(context, propertiesConversations, false)
171 MessageConversationsFilterConverter::~MessageConversationsFilterConverter()
176 MessageFoldersFilterConverter::MessageFoldersFilterConverter(JSContextRef context) :
177 FilterConverter(context, propertiesFolders, false)
181 MessageFoldersFilterConverter::~MessageFoldersFilterConverter()
186 MessageMessagesChangeFilterConverter::MessageMessagesChangeFilterConverter(JSContextRef context) :
187 FilterConverter(context, propertiesMessagesChange, false)
191 MessageMessagesChangeFilterConverter::~MessageMessagesChangeFilterConverter()
196 MessageConversationsChangeFilterConverter::MessageConversationsChangeFilterConverter(JSContextRef context) :
197 FilterConverter(context, propertiesConversationsChange, false)
201 MessageConversationsChangeFilterConverter::~MessageConversationsChangeFilterConverter()
206 MessageFoldersChangeFilterConverter::MessageFoldersChangeFilterConverter(JSContextRef context) :
207 FilterConverter(context, propertiesFoldersChange, false)
211 MessageFoldersChangeFilterConverter::~MessageFoldersChangeFilterConverter()