11 #ifndef DtMessageProcessor_H_
12 #define DtMessageProcessor_H_
23 template <
class Address,
class Message >
39 virtual inline bool applyFilter(
const Message& msg )
const {
return false; }
46 if ( applyFilter( msg ))
47 return doDestinationProcessing( src, msg, destinations );
55 if ( applyFilter( msg ))
56 return doMessageProcessing( src, msg );
79 virtual inline bool processDestinationList(
const Address& src,
const Message& msg,
80 AddressList& destinations )
const;
85 virtual inline bool processMessage(
const Address& src, Message& msg )
const;
90 myDestFilters.push_back( filter );
94 if ( myDestFilters.size() )
96 myDestFilters.remove( filter );
101 myMsgFilters.push_back( filter );
105 if ( myMsgFilters.size() )
107 myMsgFilters.remove( filter );
118 #define DtMessageProcessor_Inl_
119 #include "messageProcessor.inl"
120 #undef DtMessageProcessor_Inl_
virtual bool processMessage(const Address &src, Message &msg) const
Definition: messageProcessor.h:52
User-defined Message Processing Function Object.
Definition: messageProcessor.h:31
FilterList myMsgFilters
Definition: messageProcessor.h:114
virtual void removeMessageFilter(Filter *filter)
Definition: messageProcessor.h:103
virtual void removeDestinationFilter(Filter *filter)
Definition: messageProcessor.h:92
Filter()
Definition: messageProcessor.h:35
virtual ~DtMessageProcessor()
Definition: messageProcessor.h:74
virtual bool processDestinations(const Address &src, const Message &msg, AddressList &destinations) const
Test if filter should be applied and then apply.
Definition: messageProcessor.h:42
virtual void addMessageFilter(Filter *filter)
Definition: messageProcessor.h:99
FilterList myDestFilters
Definition: messageProcessor.h:113
virtual ~Filter()
Definition: messageProcessor.h:36
std::vector< Address > AddressList
Definition: messageProcessor.h:28
std::list< Filter * > FilterList
Definition: messageProcessor.h:71
virtual bool doMessageProcessing(const Address &src, Message &msg) const
Processes and modifies passed messages.
Definition: messageProcessor.h:68
virtual bool applyFilter(const Message &msg) const
Does this filter apply to this msg?
Definition: messageProcessor.h:39
virtual bool doDestinationProcessing(const Address &src, const Message &msg, AddressList &destinations) const
Processes and modifies passed destination lists.
Definition: messageProcessor.h:64
DtMessageProcessor()
Definition: messageProcessor.h:73
The DtMessageProcessor template class allows user to register simple message processing function obje...
Definition: messageProcessor.h:24
#define DT_DLL_FORWARDER
Definition: rtiMsConfig.h:153
virtual void addDestinationFilter(Filter *filter)
Add / Remove message and destination list processing filters.
Definition: messageProcessor.h:88