HardwareCanFilterMessageMap.h
Go to the documentation of this file.
00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
00002 
00003 // -- BEGIN LICENSE BLOCK ----------------------------------------------
00004 // This file is part of FZIs ic_workspace.
00005 //
00006 // This program is free software licensed under the LGPL
00007 // (GNU LESSER GENERAL PUBLIC LICENSE Version 3).
00008 // You can find a copy of this license in LICENSE folder in the top
00009 // directory of the source code.
00010 //
00011 // © Copyright 2016 FZI Forschungszentrum Informatik, Karlsruhe, Germany
00012 //
00013 // -- END LICENSE BLOCK ------------------------------------------------
00014 
00015 //----------------------------------------------------------------------
00022 //----------------------------------------------------------------------
00023 #ifndef ICL_HARDWARE_CAN_FILTER_HARDWARE_CAN_FILTER_MESSAGE_MAP_H_INCLUDED
00024 #define ICL_HARDWARE_CAN_FILTER_HARDWARE_CAN_FILTER_MESSAGE_MAP_H_INCLUDED
00025 
00026 #include <icl_hardware_can/filter/ImportExport.h>
00027 
00028 #include <icl_sourcesink/DataSinkRegistration.h>
00029 #include <icl_hardware_can/sink/HardwareCanSink.h>
00030 #include <icl_sourcesink/DataFilter.h>
00031 #include <icl_hardware_can/tCanMessage.h>
00032 
00033 namespace icl_hardware {
00034 namespace can {
00035 
00042 class ICL_HARDWARE_CAN_FILTER_IMPORT_EXPORT HardwareCanFilterMessageMap : public icl_sourcesink::DataFilter<tCanMessage, CanMessageMap>
00043 {
00044 public:
00046   typedef boost::shared_ptr<HardwareCanFilterMessageMap> Ptr;
00048   typedef boost::shared_ptr<const HardwareCanFilterMessageMap> ConstPtr;
00049 
00050   static icl_sourcesink::URISchemeMap supportedURISchemes()
00051   {
00052     using namespace icl_sourcesink;
00053     URISchemeMap schemes;
00054     schemes.insert(
00055       std::make_pair(
00056         "can+map",
00057         URISchemeInfo(
00058           "Converts tCanMessage to a CanMessageMap",
00059           "can+map",
00060           "No parameters needed.")));
00061     return schemes;
00062   }
00063 
00065   HardwareCanFilterMessageMap(const std::string& uri = "HardwareCanFilterMessageMap",
00066                               const std::string& name = "UnnamedHardwareCanFilterMessageMap");
00067 
00069   virtual ~HardwareCanFilterMessageMap();
00070 
00075   virtual void set(const CanMessageStamped::Ptr& data);
00076 
00078   virtual bool filter(const CanMessageStamped& input_data,
00079                       icl_core::Stamped<CanMessageMap>& output_data);
00080 };
00081 
00082 SOURCESINK_DECLARE_GENERIC_SINK_FACTORY(HardwareCanFilterMessageMap)
00083 
00084 }
00085 }
00086 
00087 #endif


fzi_icl_can
Author(s):
autogenerated on Thu Jun 6 2019 20:26:01