MAK RTIspy API Documentation for HLA 1516
Classes | Public Types | Public Member Functions | Protected Attributes
DtMessageProcessor< Address, Message > Class Template Reference

The DtMessageProcessor template class allows user to register simple message processing function objects to be applied to all messages passed to the DtMessageProcessor. More...

+ Collaboration diagram for DtMessageProcessor< Address, Message >:

List of all members.

Classes

class  Filter
 User-defined Message Processing Function Object. More...

Public Types

typedef std::vector< Address > AddressList
typedef std::list< Filter * > FilterList

Public Member Functions

 DtMessageProcessor ()
virtual ~DtMessageProcessor ()
virtual bool processDestinationList (const Address &src, const Message &msg, AddressList &destinations) const
 Apply all registered filters to the passed destination list Filtered list returned in destinations.
virtual bool processMessage (const Address &src, Message &msg) const
 Apply all registered message processors to the passed message Filtered list returned in msg.
virtual void addDestinationFilter (Filter *filter)
 Add / Remove message and destination list processing filters.
virtual void removeDestinationFilter (Filter *filter)
virtual void addMessageFilter (Filter *filter)
virtual void removeMessageFilter (Filter *filter)

Protected Attributes

FilterList myDestFilters
FilterList myMsgFilters

Detailed Description

template<class Address, class Message>
class DtMessageProcessor< Address, Message >

The DtMessageProcessor template class allows user to register simple message processing function objects to be applied to all messages passed to the DtMessageProcessor.

This allows arbitrary filtering of message destination lists, and direct modification of message data.


Member Typedef Documentation

template<class Address , class Message >
typedef std::vector< Address > DtMessageProcessor< Address, Message >::AddressList
template<class Address , class Message >
typedef std::list< Filter* > DtMessageProcessor< Address, Message >::FilterList

Constructor & Destructor Documentation

template<class Address , class Message >
DtMessageProcessor< Address, Message >::DtMessageProcessor ( ) [inline]
template<class Address , class Message >
virtual DtMessageProcessor< Address, Message >::~DtMessageProcessor ( ) [inline, virtual]

Member Function Documentation

template<class Address , class Message >
virtual void DtMessageProcessor< Address, Message >::addDestinationFilter ( Filter filter) [inline, virtual]

Add / Remove message and destination list processing filters.

Referenced by DtForwarderNode::registerLanPortProcessor(), and DtForwarderNode::registerOutPortProcessor().

template<class Address , class Message >
virtual void DtMessageProcessor< Address, Message >::addMessageFilter ( Filter filter) [inline, virtual]
template<class Address , class Message >
virtual bool DtMessageProcessor< Address, Message >::processDestinationList ( const Address &  src,
const Message &  msg,
AddressList destinations 
) const [inline, virtual]

Apply all registered filters to the passed destination list Filtered list returned in destinations.

Returns false ( and ignores remaining filters )if message should be dropped )

Referenced by DtForwarderNode::processInToOutMsg(), and DtForwarderNode::processLanToOutMsg().

template<class Address , class Message >
virtual bool DtMessageProcessor< Address, Message >::processMessage ( const Address &  src,
Message &  msg 
) const [inline, virtual]

Apply all registered message processors to the passed message Filtered list returned in msg.

Returns false ( and ignores remaining filters )if message should be dropped )

Referenced by DtForwarderNode::processInToLanMsg(), DtForwarderNode::processInToOutMsg(), and DtForwarderNode::processLanToOutMsg().

template<class Address , class Message >
virtual void DtMessageProcessor< Address, Message >::removeDestinationFilter ( Filter filter) [inline, virtual]
template<class Address , class Message >
virtual void DtMessageProcessor< Address, Message >::removeMessageFilter ( Filter filter) [inline, virtual]

Member Data Documentation

template<class Address , class Message >
FilterList DtMessageProcessor< Address, Message >::myDestFilters [protected]
template<class Address , class Message >
FilterList DtMessageProcessor< Address, Message >::myMsgFilters [protected]

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)