2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
21 #include <Commons/FunctionDefinition.h>
22 #include <Commons/FunctionDeclaration.h>
23 #include <Commons/Exception.h>
25 #include "plugin_config.h"
27 #define TIMEUTIL_FEATURE_API "http://tizen.org/api/time"
28 #define TIMEUTIL_FEATURE_API_READ "http://tizen.org/api/time.read"
29 #define TIMEUTIL_FEATURE_API_WRITE "http://tizen.org/api/time.write"
31 #define TIMEUTIL_DEVICE_CAP_READ "time.read"
32 #define TIMEUTIL_DEVICE_CAP_WRITE "time.write"
37 static WrtDeviceApis::Commons::FunctionMapping createTimeUtilFunctions();
39 static WrtDeviceApis::Commons::FunctionMapping TimeUtilFunctions =
40 createTimeUtilFunctions();
42 DEFINE_FUNCTION_GETTER(TimeUtil, TimeUtilFunctions);
44 static WrtDeviceApis::Commons::FunctionMapping createTimeUtilFunctions()
46 using namespace WrtDeviceApis::Commons;
51 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_TIMEUTIL_READ, TIMEUTIL_DEVICE_CAP_READ);
52 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_TIMEUTIL_WRITE, TIMEUTIL_DEVICE_CAP_WRITE);
54 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
56 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_TIMEUTIL_READ);
57 ACE_ADD_DEVICE_CAP(DEVICE_LIST_TIMEUTIL_READ, DEVICE_CAP_TIMEUTIL_READ);
59 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_TIMEUTIL_WRITE);
60 ACE_ADD_DEVICE_CAP(DEVICE_LIST_TIMEUTIL_WRITE, DEVICE_CAP_TIMEUTIL_WRITE);
65 ACE_CREATE_FEATURE(FEATURE_TIMEUTIL, TIMEUTIL_FEATURE_API);
66 ACE_CREATE_FEATURE(FEATURE_READ, TIMEUTIL_FEATURE_API_READ);
67 ACE_CREATE_FEATURE(FEATURE_WRITE, TIMEUTIL_FEATURE_API_WRITE);
70 ACE_CREATE_FEATURE_LIST(TIMEUTIL_FEATURES_TIMEUTIL_READ);
71 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL_READ, FEATURE_TIMEUTIL);
72 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL_READ, FEATURE_READ);
74 ACE_CREATE_FEATURE_LIST(TIMEUTIL_FEATURES_TIMEUTIL_WRITE);
75 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL_WRITE, FEATURE_TIMEUTIL);
76 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL_WRITE, FEATURE_WRITE);
78 ACE_CREATE_FEATURE_LIST(TIMEUTIL_FEATURES_TIMEUTIL);
79 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL, FEATURE_TIMEUTIL);
81 ACE_CREATE_FEATURE_LIST(TIMEUTIL_FEATURES_READ);
82 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL, FEATURE_READ);
84 ACE_CREATE_FEATURE_LIST(TIMEUTIL_FEATURES_WRITE);
85 ACE_ADD_API_FEATURE(TIMEUTIL_FEATURES_TIMEUTIL, FEATURE_WRITE);
91 FunctionMapping TimeUtilFunctions;
93 AceFunction timeutilReadFuncs = ACE_CREATE_FUNCTION(
94 FUNCTION_TIMEUTIL_READ_FUNCTIONS,
95 TIMEUTIL_FUNCTION_API_READ_FUNCS,
96 TIMEUTIL_FEATURES_TIMEUTIL_READ,
97 DEVICE_LIST_TIMEUTIL_READ);
99 TimeUtilFunctions.insert(std::make_pair(
100 TIMEUTIL_FUNCTION_API_READ_FUNCS,
103 AceFunction setCurrentDateTimeFunc = ACE_CREATE_FUNCTION(
104 FUNCTION_SET_CURRENT_DATETIME,
105 TIMEUTIL_FUNCTION_API_SET_CURRENT_DATE_TIME,
106 TIMEUTIL_FEATURES_TIMEUTIL_WRITE,
107 DEVICE_LIST_TIMEUTIL_WRITE);
109 TimeUtilFunctions.insert(std::make_pair(
110 TIMEUTIL_FUNCTION_API_SET_CURRENT_DATE_TIME,
111 setCurrentDateTimeFunc));
113 return TimeUtilFunctions;
115 } // namespace Tizen1_0
116 } // namespace TizenApis
118 #undef TIMEUTIL_FEATURE_API
119 #undef TIMEUTIL_FEATURE_API_READ
120 #undef TIMEUTIL_FEATURE_API_WRITE
121 #undef TIMEUTIL_DEVICE_CAP_READ
122 #undef TIMEUTIL_DEVICE_CAP_WRITE