robot_message.h
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 
28 #ifndef UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED
29 #define UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED
30 
32 
33 namespace urcl
34 {
35 namespace primary_interface
36 {
40 enum class RobotMessagePackageType : uint8_t
41 {
51 };
52 
57 {
58 public:
65  RobotMessage(const uint64_t timestamp, const uint8_t source) : timestamp_(timestamp), source_(source)
66  {
67  }
68  virtual ~RobotMessage() = default;
69 
78  virtual bool parseWith(comm::BinParser& bp);
79 
87  virtual bool consumeWith(AbstractPrimaryConsumer& consumer);
88 
94  virtual std::string toString() const;
95 
96  uint64_t timestamp_;
97  uint8_t source_;
99 };
100 
101 } // namespace primary_interface
102 } // namespace urcl
103 
104 #endif /* UR_CLIENT_LIBRARY_ROBOT_MESSAGE_H_INCLUDED */
RobotMessagePackageType
Possible RobotMessage types.
Definition: robot_message.h:40
The BinParser class handles a byte buffer and functionality to iteratively parse the content...
Definition: bin_parser.h:44
RobotMessagePackageType message_type_
Definition: robot_message.h:98
The PrimaryPackage is solely an abstraction level. It inherits form the URPackage and is also a paren...
The RobotMessage class is a parent class for the different received robot messages.
Definition: robot_message.h:56
RobotMessage(const uint64_t timestamp, const uint8_t source)
Creates a new RobotMessage object to be filled from a package.
Definition: robot_message.h:65


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