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 "internal-encryption.h"
21 #include "rmi/internal-encryption.h"
25 int ode_internal_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 InternalEncryption internal = client.createInterface<InternalEncryption>();
33 return internal.mount(password);
36 int ode_internal_encryption_umount()
39 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
40 InternalEncryption internal = client.createInterface<InternalEncryption>();
42 return internal.umount();
45 int ode_internal_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 InternalEncryption internal = client.createInterface<InternalEncryption>();
53 return internal.encrypt(password, options);
56 int ode_internal_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 InternalEncryption internal = client.createInterface<InternalEncryption>();
64 return internal.decrypt(password);
67 int ode_internal_encryption_recovery()
70 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
71 InternalEncryption internal = client.createInterface<InternalEncryption>();
73 return internal.recovery();
76 int ode_internal_encryption_is_password_initialized(bool* result)
78 RET_ON_FAILURE(result, ODE_ERROR_INVALID_PARAMETER);
81 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
82 InternalEncryption internal = client.createInterface<InternalEncryption>();
83 int ret = internal.isPasswordInitialized();
85 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
88 return ODE_ERROR_NONE;
91 int ode_internal_encryption_init_password(const char* password)
93 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
96 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
97 InternalEncryption internal = client.createInterface<InternalEncryption>();
99 return internal.initPassword(password);
102 int ode_internal_encryption_clean_password(const char* password)
104 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
107 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
108 InternalEncryption internal = client.createInterface<InternalEncryption>();
110 return internal.cleanPassword(password);
113 int ode_internal_encryption_change_password(const char* old_password,
114 const char* new_password)
116 RET_ON_FAILURE(old_password, ODE_ERROR_INVALID_PARAMETER);
117 RET_ON_FAILURE(new_password, ODE_ERROR_INVALID_PARAMETER);
120 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
121 InternalEncryption internal = client.createInterface<InternalEncryption>();
123 return internal.changePassword(old_password, new_password);
126 int ode_internal_encryption_verify_password(const char* password, bool* result)
128 RET_ON_FAILURE(password, ODE_ERROR_INVALID_PARAMETER);
129 RET_ON_FAILURE(result, ODE_ERROR_INVALID_PARAMETER);
132 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
133 InternalEncryption internal = client.createInterface<InternalEncryption>();
134 int ret = internal.verifyPassword(password);
136 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
139 return ODE_ERROR_NONE;
142 int ode_internal_encryption_get_state(int* state)
144 RET_ON_FAILURE(state, ODE_ERROR_INVALID_PARAMETER);
147 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
148 InternalEncryption internal = client.createInterface<InternalEncryption>();
149 int ret = internal.getState();
151 RET_ON_FAILURE(ret >= 0, ODE_ERROR_INVALID_PARAMETER);
154 return ODE_ERROR_NONE;
157 int ode_internal_encryption_get_supported_options(unsigned int* options)
159 RET_ON_FAILURE(options, ODE_ERROR_INVALID_PARAMETER);
162 RET_ON_FAILURE(client.connect() == 0, ODE_ERROR_CONNECTION_REFUSED);
163 InternalEncryption internal = client.createInterface<InternalEncryption>();
164 *options = internal.getSupportedOptions();
165 return ODE_ERROR_NONE;