shell_consumer.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_SHELL_CONSUMER_H_INCLUDED
29 #define UR_CLIENT_LIBRARY_SHELL_CONSUMER_H_INCLUDED
30 
31 #include "ur_client_library/log.h"
34 
35 namespace urcl
36 {
37 namespace comm
38 {
45 template <typename T>
46 class ShellConsumer : public IConsumer<T>
47 {
48 public:
49  ShellConsumer() = default;
50  virtual ~ShellConsumer() = default;
51 
59  virtual bool consume(std::shared_ptr<T> product)
60  {
61  URCL_LOG_INFO("%s", product->toString().c_str());
62  return true;
63  }
64 
65 private:
66  /* data */
67 };
68 } // namespace comm
69 } // namespace urcl
70 #endif // ifndef UR_CLIENT_LIBRARY_SHELL_CONSUMER_H_INCLUDED
virtual ~ShellConsumer()=default
The ShellConsumer class is a simple consumer that writes a readable representation to the logging inf...
virtual bool consume(std::shared_ptr< T > product)
Consumes a package, writing a human readable representation to the logging.
Parent class for for arbitrary consumers.
Definition: pipeline.h:42
#define URCL_LOG_INFO(...)
Definition: log.h:36


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