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.
20 #include <Commons/FunctionDefinition.h>
21 #include <Commons/FunctionDeclaration.h>
22 #include <Commons/Exception.h>
23 #include "plugin_config.h"
25 #define SECURE_STORAGE_FEATURE_API_READ "http://tizen.org/privilege/securestorage.read"
26 #define SECURE_STORAGE_FEATURE_API_WRITE "http://tizen.org/privilege/securestorage.write"
28 #define SECURE_STORAGE_DEVICE_CAP_READ "securestorage.read"
29 #define SECURE_STORAGE_DEVICE_CAP_WRITE "securestorage.write"
34 const char* SECURE_STORAGE_FUNC_READ = "SecureStroageReadFunc";
35 const char* SECURE_STORAGE_FUNC_WRITE = "SecureStroageWriteFunc";
36 const char* SECURE_STORAGE_FUNC_READWRITE = "SecureStroageReadWriteFunc";
38 static WrtDeviceApis::Commons::FunctionMapping createSecureStorageFunctions();
40 static WrtDeviceApis::Commons::FunctionMapping SecureStorageFunctions =
41 createSecureStorageFunctions();
43 DEFINE_FUNCTION_GETTER(SecureStorage, SecureStorageFunctions);
45 static WrtDeviceApis::Commons::FunctionMapping createSecureStorageFunctions()
47 using namespace WrtDeviceApis::Commons;
49 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_SECURE_STORAGE_READ, SECURE_STORAGE_DEVICE_CAP_READ);
50 ACE_CREATE_DEVICE_CAP(DEVICE_CAP_SECURE_STORAGE_WRITE, SECURE_STORAGE_DEVICE_CAP_WRITE);
53 ACE_CREATE_DEVICE_CAPS_LIST(EMPTY_DEVICE_LIST);
55 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_SECURE_STORAGE_READ);
56 ACE_ADD_DEVICE_CAP(DEVICE_LIST_SECURE_STORAGE_READ, DEVICE_CAP_SECURE_STORAGE_READ);
58 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_SECURE_STORAGE_WRITE);
59 ACE_ADD_DEVICE_CAP(DEVICE_LIST_SECURE_STORAGE_WRITE, DEVICE_CAP_SECURE_STORAGE_WRITE);
62 ACE_CREATE_DEVICE_CAPS_LIST(DEVICE_LIST_SECURE_STORAGE_READWRITE);
63 ACE_ADD_DEVICE_CAP(DEVICE_LIST_SECURE_STORAGE_READWRITE, DEVICE_CAP_SECURE_STORAGE_READ);
64 ACE_ADD_DEVICE_CAP(DEVICE_LIST_SECURE_STORAGE_READWRITE, DEVICE_CAP_SECURE_STORAGE_WRITE);
67 ACE_CREATE_FEATURE(FEATURE_READ, SECURE_STORAGE_FEATURE_API_READ);
68 ACE_CREATE_FEATURE(FEATURE_WRITE, SECURE_STORAGE_FEATURE_API_WRITE);
70 ACE_CREATE_FEATURE_LIST(SECURE_STORAGE_FEATURES_SECURE_READWRITE);
71 ACE_ADD_API_FEATURE(SECURE_STORAGE_FEATURES_SECURE_READWRITE, FEATURE_READ);
72 ACE_ADD_API_FEATURE(SECURE_STORAGE_FEATURES_SECURE_READWRITE, FEATURE_WRITE);
74 ACE_CREATE_FEATURE_LIST(SECURE_STORAGE_FEATURES_READ);
75 ACE_ADD_API_FEATURE(SECURE_STORAGE_FEATURES_READ, FEATURE_READ);
77 ACE_CREATE_FEATURE_LIST(SECURE_STORAGE_FEATURES_WRITE);
78 ACE_ADD_API_FEATURE(SECURE_STORAGE_FEATURES_WRITE, FEATURE_WRITE);
81 FunctionMapping SecureStorageFunctions;
83 AceFunction secureStorageRead = ACE_CREATE_FUNCTION(
84 FUNCTION_SECURE_STORAGE_READ_FUNCTIONS,
85 SECURE_STORAGE_FUNC_READ,
86 SECURE_STORAGE_FEATURES_READ,
87 DEVICE_LIST_SECURE_STORAGE_READ);
89 SecureStorageFunctions.insert(std::make_pair(
90 SECURE_STORAGE_FUNC_READ,
93 AceFunction secureStorageWrite = ACE_CREATE_FUNCTION(
94 FUNCTION_SECURE_STORAGE_WRITE_FUNCTIONS,
95 SECURE_STORAGE_FUNC_WRITE,
96 SECURE_STORAGE_FEATURES_WRITE,
97 DEVICE_LIST_SECURE_STORAGE_WRITE);
99 SecureStorageFunctions.insert(std::make_pair(
100 SECURE_STORAGE_FUNC_WRITE,
101 secureStorageWrite));
103 AceFunction secureStorageReadWrite = ACE_CREATE_FUNCTION(
104 FUNCTION_SECURE_STORAGE_READWRITE_FUNCTIONS,
105 SECURE_STORAGE_FUNC_READWRITE,
106 SECURE_STORAGE_FEATURES_SECURE_READWRITE,
107 DEVICE_LIST_SECURE_STORAGE_READWRITE);
109 SecureStorageFunctions.insert(std::make_pair(
110 SECURE_STORAGE_FUNC_READWRITE,
111 secureStorageReadWrite));
113 return SecureStorageFunctions;
118 #undef SECURE_STORAGE_FEATURE_API
119 #undef SECURE_STORAGE_FEATURE_API_WRITE
120 #undef SECURE_STORAGE_FEATURE_API_READ
121 #undef SECURE_STORAGE_DEVICE_CAP_WRITE
122 #undef SECURE_STORAGE_DEVICE_CAP_READ