Go to the documentation of this file. 1 #ifndef SOCKETCAN_INTERFACE_FILTER_H
2 #define SOCKETCAN_INTERFACE_FILTER_H
25 const uint32_t k = frame.
key();
40 const uint32_t k = frame.
key();
56 for(FilterVector::const_iterator it=this->
filters_.begin(); it != this->filters_.end(); ++it) {
57 if((*it)->pass(frame)){
64 const std::vector<FrameFilterSharedPtr>
filters_;
FrameListener::ListenerConstSharedPtr FrameListenerConstSharedPtr
static const uint32_t MASK_RELAXED
static const uint32_t MASK_ALL
virtual bool pass(const can::Frame &frame) const
CommInterface::FrameListenerConstSharedPtr listener_
std::shared_ptr< CommInterface > CommInterfaceSharedPtr
std::vector< FrameFilterSharedPtr > FilterVector
FilteredFrameListener(CommInterfaceSharedPtr comm, const Callable &callable, const FilterVector &filters)
virtual bool pass(const can::Frame &frame) const =0
FrameMaskFilter(uint32_t can_id, uint32_t mask=MASK_RELAXED, bool invert=false)
virtual bool pass(const can::Frame &frame) const
std::shared_ptr< FrameFilter > FrameFilterSharedPtr
FrameRangeFilter(uint32_t min_id, uint32_t max_id, bool invert=false)
const uint32_t masked_id_
const std::vector< FrameFilterSharedPtr > filters_