TopicUtil.cpp
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5
*
6
* ArmarX is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License version 2 as
8
* published by the Free Software Foundation.
9
*
10
* ArmarX is distributed in the hope that it will be useful, but
11
* WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*
18
* @package ArmarX
19
* @author Mirko Waechter( mirko.waechter at kit dot edu)
20
* @date 2016
21
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22
* GNU General Public License
23
*/
24
#include "
TopicUtil.h
"
25
26
#include <boost/archive/iterators/base64_from_binary.hpp>
27
#include <boost/archive/iterators/binary_from_base64.hpp>
28
#include <boost/archive/iterators/transform_width.hpp>
29
30
namespace
armarx
31
{
32
33
34
std::string
35
TopicUtil::Encode64
(
const
std::string& val)
36
{
37
using namespace
boost::archive::iterators;
38
using
It = base64_from_binary<transform_width<std::string::const_iterator, 6, 8>>;
39
auto
tmp = std::string(It(std::begin(val)), It(std::end(val)));
40
return
tmp;
41
}
42
43
std::string
44
TopicUtil::Decode64
(
const
std::string& val)
45
{
46
using namespace
boost::archive::iterators;
47
using
It = transform_width<binary_from_base64<std::string::const_iterator>, 8, 6>;
48
return
std::string(It(std::begin(val)), It(std::end(val)));
49
}
50
51
TopicUtil::TopicData::TopicData
(
const
std::string&
topicName
,
52
const
IceUtil::Time&
timestamp
,
53
const
std::string&
operationName
,
54
const
std::vector<Ice::Byte>&
inParams
) :
55
topicName
(
topicName
),
timestamp
(
timestamp
),
operationName
(
operationName
),
inParams
(
inParams
)
56
{
57
}
58
59
60
}
// namespace armarx
TopicUtil.h
armarx::TopicUtil::Decode64
std::string Decode64(const std::string &val)
Definition
TopicUtil.cpp:44
armarx::TopicUtil::Encode64
std::string Encode64(const std::string &val)
Definition
TopicUtil.cpp:35
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition
ArmarXTimeserver.cpp:28
armarx::TopicUtil::TopicData::inParams
std::vector< Ice::Byte > inParams
Definition
TopicUtil.h:48
armarx::TopicUtil::TopicData::topicName
std::string topicName
Definition
TopicUtil.h:45
armarx::TopicUtil::TopicData::operationName
std::string operationName
Definition
TopicUtil.h:47
armarx::TopicUtil::TopicData::timestamp
IceUtil::Time timestamp
Definition
TopicUtil.h:46
armarx::TopicUtil::TopicData::TopicData
TopicData()
Definition
TopicUtil.h:36
ArmarXCore
util
topicrecording
TopicUtil.cpp
Generated by
1.13.2