fintp_base
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FinTP::FilterChain Class Reference

#include <FilterChain.h>

Inheritance diagram for FinTP::FilterChain:

Public Member Functions

 FilterChain ()
 FilterChain implementation. More...
 
 ~FilterChain ()
 
int AddFilter (FilterType::FilterTypeEnum type, NameValueCollection *properties)
 
AbstractFilteroperator[] (int i)
 
bool canLogPayload ()
 
AbstractFilter::FilterResult ProcessMessage (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputOutputData, NameValueCollection &transportHeaders, bool asClient)
 
AbstractFilter::FilterResult ProcessMessage (const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputData, AbstractFilter::buffer_type outputData, NameValueCollection &transportHeaders, bool asClient)
 
AbstractFilter::FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *outputData, NameValueCollection &transportHeaders, bool asClient)
 
AbstractFilter::FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, AbstractFilter::buffer_type outputData, NameValueCollection &transportHeaders, bool asClient)
 
AbstractFilter::FilterResult ProcessMessage (const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputData, unsigned char **outputData, NameValueCollection &transportHeaders, bool asClient)
 
AbstractFilter::FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, unsigned char **outputData, NameValueCollection &transportHeaders, bool asClient)
 
bool isMethodSupported (FilterMethod method, bool asClient, bool untilNow=false)
 
void Report (bool onlySupported=false, bool displayChain=false)
 
void Rollback ()
 
void Commit ()
 
void Abort ()
 
- Public Member Functions inherited from FinTP::AbstractFilter
virtual ~AbstractFilter ()
 Destructor. More...
 
virtual bool isMethodSupported (FilterMethod method, bool asClient)
 
const NameValueCollection & getProperties () const
 
void setLogFile (const string &filename)
 sets the name of the file where the payload will be logged More...
 
string getLogFile () const
 gets the name of the file where the payload will be logged More...
 
virtual bool isTransportType ()
 
void addProperty (const string &name, const string &value)
 
FilterType::FilterTypeEnum getFilterType () const
 
virtual void Init ()
 
virtual bool isBatch () const
 
virtual string getQueueManagerName () const
 
virtual string getTransportURI () const
 
virtual string getQueueName () const
 

Private Member Functions

bool BuildChain (AbstractFilter::FilterMethod method, AbstractFilter::FilterMethod chainMethod, bool asClient, const unsigned int index=0)
 
void BuildChains ()
 
bool isFirstFilter (int index) const
 
bool isLastFilter (int index) const
 

Private Attributes

vector< AbstractFilter * > m_Filters
 
map
< AbstractFilter::FilterMethod,
vector
< AbstractFilter::FilterMethod > * > 
m_CompiledChainsAsClient
 
map
< AbstractFilter::FilterMethod,
vector
< AbstractFilter::FilterMethod > * > 
m_CompiledChainsAsServer
 

Additional Inherited Members

- Public Types inherited from FinTP::AbstractFilter
enum  FilterResult { Completed = 1, Fail = 2 }
 Return completed if the filter has successfully processed the message. More...
 
enum  FilterMethod { XmlToXml = 0, XmlToBuffer = 1, BufferToXml = 2, BufferToBuffer = 3 }
 Methods for filters. More...
 
typedef WorkItem< ManagedBuffer > buffer_type
 
- Static Public Member Functions inherited from FinTP::AbstractFilter
static string ToString (const FilterMethod type)
 
- Protected Member Functions inherited from FinTP::AbstractFilter
 AbstractFilter (FilterType::FilterTypeEnum type)
 Constructor. More...
 
- Protected Attributes inherited from FinTP::AbstractFilter
NameValueCollection m_Properties
 Collection of name-value pairs = additional properties for the filter e.g. More...
 
FilterType::FilterTypeEnum m_FilterType
 
string m_LogPayloadFile
 

Constructor & Destructor Documentation

FilterChain::FilterChain ( )

FilterChain implementation.

FilterChain::~FilterChain ( )

Member Function Documentation

void FilterChain::Abort ( )
virtual

Reimplemented from FinTP::AbstractFilter.

int FilterChain::AddFilter ( FilterType::FilterTypeEnum  type,
NameValueCollection *  properties 
)
bool FilterChain::BuildChain ( AbstractFilter::FilterMethod  method,
AbstractFilter::FilterMethod  chainMethod,
bool  asClient,
const unsigned int  index = 0 
)
private
void FilterChain::BuildChains ( )
private
bool FinTP::FilterChain::canLogPayload ( )
inlinevirtual

Reimplemented from FinTP::AbstractFilter.

void FilterChain::Commit ( )
virtual

Reimplemented from FinTP::AbstractFilter.

bool FinTP::FilterChain::isFirstFilter ( int  index) const
inlineprivate
bool FinTP::FilterChain::isLastFilter ( int  index) const
inlineprivate
bool FilterChain::isMethodSupported ( AbstractFilter::FilterMethod  method,
bool  asClient,
bool  untilNow = false 
)
AbstractFilter* FinTP::FilterChain::operator[] ( int  i)
inline
AbstractFilter::FilterResult FilterChain::ProcessMessage ( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputOutputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult FilterChain::ProcessMessage ( const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputData,
AbstractFilter::buffer_type  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult FilterChain::ProcessMessage ( AbstractFilter::buffer_type  inputData,
XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult FilterChain::ProcessMessage ( AbstractFilter::buffer_type  inputData,
AbstractFilter::buffer_type  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult FinTP::FilterChain::ProcessMessage ( const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputData,
unsigned char **  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
inlinevirtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult FinTP::FilterChain::ProcessMessage ( AbstractFilter::buffer_type  inputData,
unsigned char **  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
inlinevirtual

Implements FinTP::AbstractFilter.

void FilterChain::Report ( bool  onlySupported = false,
bool  displayChain = false 
)
void FilterChain::Rollback ( )
virtual

Reimplemented from FinTP::AbstractFilter.

Member Data Documentation

map< AbstractFilter::FilterMethod, vector< AbstractFilter::FilterMethod >* > FinTP::FilterChain::m_CompiledChainsAsClient
private
map< AbstractFilter::FilterMethod, vector< AbstractFilter::FilterMethod >* > FinTP::FilterChain::m_CompiledChainsAsServer
private
vector< AbstractFilter* > FinTP::FilterChain::m_Filters
private

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