1 /* Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd All Rights Reserved
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License
16 * @file client-echo.cpp
17 * @author Zofia Abramowska (z.abramowska@samsung.com)
19 * @brief This file contains example of key-manager client implementation
22 #include <dpl/log/log.h>
23 #include <dpl/exception.h>
25 #include <message-buffer.h>
26 #include <client-common.h>
27 #include <protocols.h>
29 #include <ckm/ckm-error.h>
32 int key_manager_echo(const char *echo, char** oche) {
36 LogDebug("Echo message is null");
37 return KEY_MANAGER_API_ERROR_INPUT_PARAM;
40 MessageBuffer send, recv;
41 Serialization::Serialize(send, std::string(echo));
43 int retCode = sendToServer(SERVICE_SOCKET_ECHO, send.Pop(), recv);
45 if(retCode != KEY_MANAGER_API_SUCCESS)
49 Deserialization::Deserialize(recv, response);
51 *oche = strdup(response.c_str());
53 return KEY_MANAGER_API_SUCCESS;