Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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