2 * Copyright (c) 2015 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
18 #include "external-encryption.h"
21 #include "rmi/external-encryption.h"
25 int ode_external_encryption_mount(const char* password)
27 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
30 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
31 ExternalEncryption external = client.createInterface<ExternalEncryption>();
33 return external.mount(password);
36 int ode_external_encryption_umount()
39 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
40 ExternalEncryption external = client.createInterface<ExternalEncryption>();
42 return external.umount();
45 int ode_external_encryption_encrypt(const char* password, unsigned int options)
47 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
50 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
51 ExternalEncryption external = client.createInterface<ExternalEncryption>();
53 return external.encrypt(password, options);
56 int ode_external_encryption_decrypt(const char* password)
58 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
61 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
62 ExternalEncryption external = client.createInterface<ExternalEncryption>();
64 return external.decrypt(password);
67 int ode_external_encryption_is_password_initialized(bool* result)
69 RET_ON_FAILURE(result, ODE_ERROR_INVALID_PARAMETER);
72 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
73 ExternalEncryption external = client.createInterface<ExternalEncryption>();
74 int ret = external.isPasswordInitialized();
76 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
79 return ODE_ERROR_NONE;
82 int ode_external_encryption_init_password(const char* password)
84 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
87 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
88 ExternalEncryption external = client.createInterface<ExternalEncryption>();
90 return external.initPassword(password);
93 int ode_external_encryption_clean_password(const char* password)
95 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
98 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
99 ExternalEncryption external = client.createInterface<ExternalEncryption>();
101 return external.cleanPassword(password);
104 int ode_external_encryption_change_password(const char* old_password,
105 const char* new_password)
107 RET_ON_FAILURE(old_password, ODE_ERROR_INVALID_PARAMETER);
108 RET_ON_FAILURE(new_password, ODE_ERROR_INVALID_PARAMETER);
111 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
112 ExternalEncryption external = client.createInterface<ExternalEncryption>();
114 return external.changePassword(old_password, new_password);
117 int ode_external_encryption_verify_password(const char* password, bool* result)
119 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
120 RET_ON_FAILURE(result, ODE_ERROR_INVALID_PARAMETER);
123 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
124 ExternalEncryption external = client.createInterface<ExternalEncryption>();
125 int ret = external.verifyPassword(password);
127 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
130 return ODE_ERROR_NONE;
133 int ode_external_encryption_get_state(int* state)
135 RET_ON_FAILURE(state, ODE_ERROR_INVALID_PARAMETER);
138 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
139 ExternalEncryption external = client.createInterface<ExternalEncryption>();
140 int ret = external.getState();
142 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
145 return ODE_ERROR_NONE;
148 int ode_external_encryption_get_supported_options(unsigned int* options)
150 RET_ON_FAILURE(options, ODE_ERROR_INVALID_PARAMETER);
153 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
154 ExternalEncryption external = client.createInterface<ExternalEncryption>();
155 *options = external.getSupportedOptions();
156 return ODE_ERROR_NONE;