Public Member Functions | Private Attributes | List of all members
FIX::DataDictionaryProvider Class Reference

Queries for DataDictionary based on appropriate version of FIX. More...

#include <DataDictionaryProvider.h>

Collaboration diagram for FIX::DataDictionaryProvider:
Collaboration graph
[legend]

Public Member Functions

 DataDictionaryProvider ()
 
 DataDictionaryProvider (const DataDictionaryProvider &copy)
 
const DataDictionarygetSessionDataDictionary (const BeginString &beginString) const throw ( DataDictionaryNotFound )
 
const DataDictionarygetApplicationDataDictionary (const ApplVerID &applVerID) const throw ( DataDictionaryNotFound )
 
void addTransportDataDictionary (const BeginString &beginString, ptr::shared_ptr< DataDictionary >)
 
void addApplicationDataDictionary (const ApplVerID &applVerID, ptr::shared_ptr< DataDictionary >)
 
void addTransportDataDictionary (const BeginString &beginString, const std::string &path)
 
void addApplicationDataDictionary (const ApplVerID &applVerID, const std::string &path)
 

Private Attributes

std::map< std::string, ptr::shared_ptr< DataDictionary > > m_transportDictionaries
 
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_applicationDictionaries
 
DataDictionary emptyDataDictionary
 

Detailed Description

Queries for DataDictionary based on appropriate version of FIX.

Definition at line 42 of file DataDictionaryProvider.h.

Constructor & Destructor Documentation

◆ DataDictionaryProvider() [1/2]

FIX::DataDictionaryProvider::DataDictionaryProvider ( )
inline

◆ DataDictionaryProvider() [2/2]

FIX::DataDictionaryProvider::DataDictionaryProvider ( const DataDictionaryProvider copy)

Definition at line 32 of file DataDictionaryProvider.cpp.

References getSessionDataDictionary().

33 {
34  *this = copy;
35 }

Member Function Documentation

◆ addApplicationDataDictionary() [1/2]

void FIX::DataDictionaryProvider::addApplicationDataDictionary ( const ApplVerID &  applVerID,
ptr::shared_ptr< DataDictionary pDD 
)

Definition at line 66 of file DataDictionaryProvider.cpp.

References m_applicationDictionaries.

Referenced by addApplicationDataDictionary(), addTransportDataDictionary(), and DataDictionaryProvider().

67 {
68  m_applicationDictionaries[applVerID.getValue()] = pDD;
69 }
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_applicationDictionaries

◆ addApplicationDataDictionary() [2/2]

void FIX::DataDictionaryProvider::addApplicationDataDictionary ( const ApplVerID &  applVerID,
const std::string &  path 
)
inline

Definition at line 59 of file DataDictionaryProvider.h.

References addApplicationDataDictionary().

60  { addApplicationDataDictionary(applVerID, ptr::shared_ptr<DataDictionary>( new DataDictionary(path) )); }
void addApplicationDataDictionary(const ApplVerID &applVerID, ptr::shared_ptr< DataDictionary >)

◆ addTransportDataDictionary() [1/2]

void FIX::DataDictionaryProvider::addTransportDataDictionary ( const BeginString &  beginString,
ptr::shared_ptr< DataDictionary pDD 
)

Definition at line 60 of file DataDictionaryProvider.cpp.

References addApplicationDataDictionary(), and m_transportDictionaries.

Referenced by addTransportDataDictionary(), and DataDictionaryProvider().

61 {
62  m_transportDictionaries[beginString.getValue()] = pDD;
63 }
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_transportDictionaries

◆ addTransportDataDictionary() [2/2]

void FIX::DataDictionaryProvider::addTransportDataDictionary ( const BeginString &  beginString,
const std::string &  path 
)
inline

Definition at line 57 of file DataDictionaryProvider.h.

References addTransportDataDictionary().

58  { addTransportDataDictionary(beginString, ptr::shared_ptr<DataDictionary>( new DataDictionary(path) )); }
void addTransportDataDictionary(const BeginString &beginString, ptr::shared_ptr< DataDictionary >)

◆ getApplicationDataDictionary()

const DataDictionary & FIX::DataDictionaryProvider::getApplicationDataDictionary ( const ApplVerID &  applVerID) const
throw (DataDictionaryNotFound
)

Definition at line 49 of file DataDictionaryProvider.cpp.

References emptyDataDictionary, and m_applicationDictionaries.

Referenced by DataDictionaryProvider(), FIX::Session::newMessage(), FIX::Session::next(), and FIX::Session::nextResendRequest().

50 {
51  std::map<std::string, ptr::shared_ptr<DataDictionary> >::const_iterator find =
52  m_applicationDictionaries.find(applVerID);
53  if( find != m_applicationDictionaries.end() )
54  return *find->second;
55 
56  return emptyDataDictionary;
57 }
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_applicationDictionaries

◆ getSessionDataDictionary()

const DataDictionary & FIX::DataDictionaryProvider::getSessionDataDictionary ( const BeginString &  beginString) const
throw (DataDictionaryNotFound
)

Definition at line 38 of file DataDictionaryProvider.cpp.

References emptyDataDictionary, and m_transportDictionaries.

Referenced by DataDictionaryProvider(), FIX::Session::newMessage(), FIX::Session::next(), and FIX::Session::nextResendRequest().

39 {
40  std::map<std::string, ptr::shared_ptr<DataDictionary> >::const_iterator find =
41  m_transportDictionaries.find(beginString);
42  if( find != m_transportDictionaries.end() )
43  return *find->second;
44 
45  return emptyDataDictionary;
46 }
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_transportDictionaries

Member Data Documentation

◆ emptyDataDictionary

DataDictionary FIX::DataDictionaryProvider::emptyDataDictionary
private

◆ m_applicationDictionaries

std::map<std::string, ptr::shared_ptr<DataDictionary> > FIX::DataDictionaryProvider::m_applicationDictionaries
private

◆ m_transportDictionaries

std::map<std::string, ptr::shared_ptr<DataDictionary> > FIX::DataDictionaryProvider::m_transportDictionaries
private

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

Generated on Wed Aug 28 2019 14:13:46 for QuickFIX by doxygen 1.8.13 written by Dimitri van Heesch, © 1997-2001