a6a2b235fb96ecd16e47a63618c4076a1382462e
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Messaging / ConversationFilterValidatorFactory.cpp
1 /*
2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. 
15 */
16 /*
17  * ConversationFilterValidatorFactory
18  *
19  *  Created on: 2011. 10. 31.
20  *      Author: sangtai
21  */
22
23 #include "ConversationFilterValidatorFactory.h"
24
25 using namespace TizenApis::Api::Tizen;
26
27 namespace TizenApis {
28         namespace Platform {
29                 namespace Messaging {
30
31                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_ID               = "id";
32                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_TYPE             = "type";
33                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_TIMESTAMP        = "timestamp";
34                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_MESSAGE_COUNT    = "messageCount";
35                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_UNREAD_MESSAGES  = "unreadMessages";
36                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_PREVIEW          = "preview";
37                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_FROM             = "from";
38                 const std::string ConversationFilterValidatorFactory::ATTRIBUTE_TO               = "to";
39
40                 static PropertyStructArray properties =
41                 {
42                                 {ConversationFilterValidatorFactory::ATTRIBUTE_ID.c_str(),              Api::Tizen::PrimitiveType_String},
43                                 {ConversationFilterValidatorFactory::ATTRIBUTE_TYPE.c_str(),            Api::Tizen::PrimitiveType_String},
44                                 {ConversationFilterValidatorFactory::ATTRIBUTE_TIMESTAMP.c_str(),       Api::Tizen::PrimitiveType_Time},
45                                 {ConversationFilterValidatorFactory::ATTRIBUTE_MESSAGE_COUNT.c_str(),   Api::Tizen::PrimitiveType_Number},
46                                 {ConversationFilterValidatorFactory::ATTRIBUTE_UNREAD_MESSAGES.c_str(), Api::Tizen::PrimitiveType_Number},
47                                 {ConversationFilterValidatorFactory::ATTRIBUTE_PREVIEW.c_str(),         Api::Tizen::PrimitiveType_String},
48                                 {ConversationFilterValidatorFactory::ATTRIBUTE_FROM.c_str(),            Api::Tizen::PrimitiveType_String},
49                                 {ConversationFilterValidatorFactory::ATTRIBUTE_TO.c_str(),              Api::Tizen::PrimitiveType_String},
50                                 {0,                  Api::Tizen::PrimitiveType_Notype}
51                 };
52
53                 static MatchFlagStrArray matchFlag{
54                         "EXACTLY",
55                         "CONTAINS",
56                         "STARTSWITH",
57                         "ENDSWITH",
58 //                      "MATCH_CASESENSITIVE",
59                         0
60                 };
61
62                 ConversationFilterValidatorPtr ConversationFilterValidatorFactory::getConversationFilterValidator()
63                 {
64                     ConversationFilterValidatorPtr theInstance =
65                                 ConversationFilterValidatorPtr(new ConversationFilterValidator(properties, matchFlag, Api::Tizen::PrimitiveType_Int));
66
67                     return theInstance;
68                 }
69
70                 }
71         }
72 }