control_package_setup_inputs.cpp
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 // Copyright 2019 FZI Forschungszentrum Informatik
5 //
6 // Licensed under the Apache License, Version 2.0 (the "License");
7 // you may not use this file except in compliance with the License.
8 // You may obtain a copy of the License at
9 //
10 // http://www.apache.org/licenses/LICENSE-2.0
11 //
12 // Unless required by applicable law or agreed to in writing, software
13 // distributed under the License is distributed on an "AS IS" BASIS,
14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 // See the License for the specific language governing permissions and
16 // limitations under the License.
17 // -- END LICENSE BLOCK ------------------------------------------------
18 
19 //----------------------------------------------------------------------
26 //----------------------------------------------------------------------
27 
29 
30 namespace urcl
31 {
32 namespace rtde_interface
33 {
35 {
38 
39  return true;
40 }
42 {
43  std::stringstream ss;
44  ss << "input recipe id: " << static_cast<int>(input_recipe_id_) << std::endl;
45  ss << "variable types: " << variable_types_;
46 
47  return ss.str();
48 }
49 
51  std::vector<std::string> variable_names)
52 {
53  if (variable_names.size() == 0)
54  {
55  return 0;
56  }
57  std::string variables;
58  for (const auto& piece : variable_names)
59  variables += (piece + ",");
60  variables.pop_back();
61  uint16_t payload_size = variables.size();
62 
63  size_t size = 0;
64  size += PackageHeader::serializeHeader(buffer, PACKAGE_TYPE, payload_size);
65  size += comm::PackageSerializer::serialize(buffer + size, variables);
66 
67  return size;
68 }
69 } // namespace rtde_interface
70 } // namespace urcl
void parse(T &val)
Parses the next bytes as given type.
Definition: bin_parser.h:139
void parseRemainder(std::string &val)
Parses the remaining bytes as a string.
Definition: bin_parser.h:255
static size_t generateSerializedRequest(uint8_t *buffer, std::vector< std::string > variable_names)
Generates a serialized package.
The BinParser class handles a byte buffer and functionality to iteratively parse the content...
Definition: bin_parser.h:44
virtual std::string toString() const
Produces a human readable representation of the package object.
virtual bool parseWith(comm::BinParser &bp)
Sets the attributes of the package by parsing a serialized representation of the package.
static size_t serialize(uint8_t *buffer, T val)
A generalized serialization method for arbitrary datatypes.
static size_t serializeHeader(uint8_t *buffer, PackageType package_type, uint16_t payload_length)
Creates a serialization of a header based on given values.


ur_client_library
Author(s): Thomas Timm Andersen, Simon Rasmussen, Felix Exner, Lea Steffen, Tristan Schnell
autogenerated on Sun May 9 2021 02:16:26