2bec89ecf3415391b35ad0de0eb87b76726eaab1
[profile/ivi/wrt-plugins-tizen.git] / src / platform / API / Messaging / MessageFilterValidatorFactory.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  * MessagingFilterValidatorFactory.cpp
18  *
19  *  Created on: 2011. 10. 27.
20  *      Author: sangtai
21  */
22
23 #include "MessageFilterValidatorFactory.h"
24
25 using namespace TizenApis::Api::Tizen;
26
27 namespace TizenApis {
28         namespace Platform {
29                 namespace Messaging {
30
31                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_ID               = "id";
32                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_TYPE             = "type";
33                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_FOLDER           = "folderId";
34                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_TIMESTAMP        = "timestamp";
35                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_FROM             = "from";
36                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_TO               = "to";
37                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_CC               = "cc";
38                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_BCC              = "bcc";
39                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_BODY             = "body";
40                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_IS_READ          = "isRead";
41                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_PRIORITY         = "priority";
42                 const std::string MessageFilterValidatorFactory::ATTRIBUTE_SUBJECT          = "subject";
43
44                  std::string MessageFilterValidatorFactory::MATCH_EXACTLY              = "EXACTLY";
45                  std::string MessageFilterValidatorFactory::MATCH_CONTAINS             = "CONTAINS";
46                  std::string MessageFilterValidatorFactory::MATCH_STARTSWITH           = "STARTSWITH";
47                  std::string MessageFilterValidatorFactory::MATCH_ENDSWITH             = "ENDSWITH";
48
49                 static PropertyStructArray properties =
50                 {
51                                 {MessageFilterValidatorFactory::ATTRIBUTE_ID.c_str(),        Api::Tizen::PrimitiveType_String},
52                                 {MessageFilterValidatorFactory::ATTRIBUTE_TYPE.c_str(),      Api::Tizen::PrimitiveType_String},
53                                 {MessageFilterValidatorFactory::ATTRIBUTE_FOLDER.c_str(),    Api::Tizen::PrimitiveType_String},
54                                 {MessageFilterValidatorFactory::ATTRIBUTE_TIMESTAMP.c_str(), Api::Tizen::PrimitiveType_Time},
55                                 {MessageFilterValidatorFactory::ATTRIBUTE_FROM.c_str(),      Api::Tizen::PrimitiveType_String},
56                                 {MessageFilterValidatorFactory::ATTRIBUTE_TO.c_str(),        Api::Tizen::PrimitiveType_String},
57                                 {MessageFilterValidatorFactory::ATTRIBUTE_CC.c_str(),        Api::Tizen::PrimitiveType_String},
58                                 {MessageFilterValidatorFactory::ATTRIBUTE_BCC.c_str(),       Api::Tizen::PrimitiveType_String},
59                                 {MessageFilterValidatorFactory::ATTRIBUTE_BODY.c_str(),      Api::Tizen::PrimitiveType_String},
60                                 {MessageFilterValidatorFactory::ATTRIBUTE_IS_READ.c_str(),   Api::Tizen::PrimitiveType_Boolean},
61                                 {MessageFilterValidatorFactory::ATTRIBUTE_PRIORITY.c_str(),  Api::Tizen::PrimitiveType_Boolean},
62                                 {MessageFilterValidatorFactory::ATTRIBUTE_SUBJECT.c_str(),   Api::Tizen::PrimitiveType_String},
63                                 {0,                  Api::Tizen::PrimitiveType_Notype}
64                 };
65
66                 static MatchFlagStrArray matchFlag{
67                         "EXACTLY",
68                         "CONTAINS",
69                         "STARTSWITH",
70                         "ENDSWITH",
71                         0
72                 };
73
74                 MessageFilterValidatorPtr MessageFilterValidatorFactory::getMessageFilterValidator()
75                 {
76                     MessageFilterValidatorPtr theInstance =
77                                 MessageFilterValidatorPtr(new MessageFilterValidator(properties, matchFlag, Api::Tizen::PrimitiveType_Int));
78
79                     return theInstance;
80                 }
81
82                 }
83         }       //naspace Platform
84 } //naspace WrtPlugins