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; }
42 virtual inline bool processDestinations(
const Address& src,
const Message& msg,
46 if ( applyFilter( msg ))
47 return doDestinationProcessing( src, msg, destinations );
52 virtual inline bool processMessage(
const Address& src, Message& msg )
const
55 if ( applyFilter( msg ))
56 return doMessageProcessing( src, msg );
64 virtual inline bool doDestinationProcessing(
const Address& src,
const Message& 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;
88 virtual inline void addDestinationFilter(
Filter* filter )
90 myDestFilters.push_back( filter );
92 virtual inline void removeDestinationFilter(
Filter* filter )
94 if ( myDestFilters.size() )
96 myDestFilters.remove( filter );
99 virtual inline void addMessageFilter(
Filter* filter )
101 myMsgFilters.push_back( filter );
103 virtual inline void removeMessageFilter(
Filter* filter )
105 if ( myMsgFilters.size() )
107 myMsgFilters.remove( filter );
118 #define DtMessageProcessor_Inl_
119 #include "messageProcessor.inl"
120 #undef DtMessageProcessor_Inl_