Update change log and spec for wrt-plugins-tizen_0.4.49
[framework/web/wrt-plugins-tizen.git] / src / Contact / ContactFilterConverter.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        ContactFilterConverter.cpp
20  * @author      Kisub Song (kisubs.song@samsung.com)
21  * @version     0.1
22  * @description Reference from CalendarConverter.cpp
23  */
24
25 #include "ContactFilterConverter.h"
26 #include <Logger.h>
27
28 namespace DeviceAPI {
29 namespace Contact {
30
31 using namespace std;
32 using namespace DeviceAPI::Tizen;
33
34 static PropertyStructArray propertiesContact =
35 {
36                 { "id",                         PrimitiveType_String },
37                 { "personId",                   PrimitiveType_String },
38                 { "addressBookId",              PrimitiveType_String },
39                 { "lastUpdated",                PrimitiveType_Time },
40                 { "isFavorite",                 PrimitiveType_Boolean },
41                 { "name.prefix",                PrimitiveType_String },
42                 { "name.suffix",                PrimitiveType_String },
43                 { "name.firstName",             PrimitiveType_String },
44                 { "name.middleName",            PrimitiveType_String },
45                 { "name.lastName",              PrimitiveType_String },
46                 { "name.nicknames",             PrimitiveType_String },
47                 { "name.phoneticFirstName",     PrimitiveType_String },
48                 { "name.phoneticMiddleName",     PrimitiveType_String },
49                 { "name.phoneticLastName",      PrimitiveType_String },
50                 { "name.displayName",           PrimitiveType_String },
51                 { "addresses.country",          PrimitiveType_String },
52                 { "addresses.region",           PrimitiveType_String },
53                 { "addresses.city",             PrimitiveType_String },
54                 { "addresses.streetAddress",    PrimitiveType_String },
55                 { "addresses.additionalInformation",    PrimitiveType_String },
56                 { "addresses.postalCode",       PrimitiveType_String },
57                 { "addresses.isDefault",        PrimitiveType_Boolean },
58                 { "addresses.types",            PrimitiveType_String },
59                 { "photoURI",                   PrimitiveType_String },
60                 { "phoneNumbers.number",        PrimitiveType_String },
61                 { "phoneNumbers.isDefault",     PrimitiveType_Boolean },
62                 { "phoneNumbers.types",         PrimitiveType_String },
63                 { "emails.email",               PrimitiveType_String },
64                 { "emails.isDefault",           PrimitiveType_Boolean },
65                 { "emails.types",               PrimitiveType_String },
66                 { "birthday",                   PrimitiveType_Time },
67                 { "anniversaries.date",         PrimitiveType_Time },
68                 { "anniversaries.label",        PrimitiveType_String },
69                 { "organizations.name",         PrimitiveType_String },
70                 { "organizations.department",   PrimitiveType_String },
71                 { "organizations.title",        PrimitiveType_String },
72                 { "organizations.role",         PrimitiveType_String },
73                 { "organizations.logoURI",      PrimitiveType_String },
74                 { "organizations.assistant",    PrimitiveType_String },
75                 { "organizations.location",     PrimitiveType_String },
76                 { "organizations.description",  PrimitiveType_String },
77                 { "organizations.phoneticName", PrimitiveType_String },
78                 { "organizations.type",         PrimitiveType_String },
79                 { "notes",                      PrimitiveType_String },
80                 { "urls.url",                   PrimitiveType_String },
81                 { "urls.type",                  PrimitiveType_String },
82                 { "ringtoneURI",                PrimitiveType_String },
83                 { "groupIds",                   PrimitiveType_String },
84                 { 0,                            PrimitiveType_NoType }
85 };
86
87 static PropertyStructArray propertiesPerson =
88 {
89                 { "id",                         PrimitiveType_String },
90                 { "displayName",                PrimitiveType_String },
91                 { "contactCount",               PrimitiveType_Long },
92                 { "hasPhoneNumber",             PrimitiveType_Boolean },
93                 { "hasEmail",                   PrimitiveType_Boolean },
94                 { "isFavorite",                 PrimitiveType_Boolean },
95                 { "photoURI",                   PrimitiveType_String },
96                 { "ringtoneURI",                PrimitiveType_String },
97                 { "displayContactId",           PrimitiveType_String },
98                 { 0,                            PrimitiveType_NoType }
99 };
100
101 ContactFilterConverter::ContactFilterConverter(JSContextRef context) :
102                 FilterConverter(context, propertiesContact, false)
103 {
104 }
105
106 ContactFilterConverter::~ContactFilterConverter()
107 {
108         LoggerD("entered");
109 }
110
111 PersonFilterConverter::PersonFilterConverter(JSContextRef context) :
112                 FilterConverter(context, propertiesPerson, false)
113 {
114 }
115
116 PersonFilterConverter::~PersonFilterConverter()
117 {
118         LoggerD("entered");
119 }
120
121 } // Contact
122 } // DeviceAPI
123