DataDictionaryProvider.h
Go to the documentation of this file.
1 /* -*- C++ -*- */
2 
3 /****************************************************************************
4 ** Copyright (c) 2001-2014
5 **
6 ** This file is part of the QuickFIX FIX Engine
7 **
8 ** This file may be distributed under the terms of the quickfixengine.org
9 ** license as defined by quickfixengine.org and appearing in the file
10 ** LICENSE included in the packaging of this file.
11 **
12 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
13 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
14 **
15 ** See http://www.quickfixengine.org/LICENSE for licensing information.
16 **
17 ** Contact ask@quickfixengine.org if any conditions of this licensing are
18 ** not clear to you.
19 **
20 ****************************************************************************/
21 
22 #ifndef FIX_DATADICTIONARYPROVIDER_H
23 #define FIX_DATADICTIONARYPROVIDER_H
24 
25 #ifdef _MSC_VER
26 #pragma warning( disable : 4503 4355 4786 4290 )
27 #endif
28 
29 #include "DataDictionary.h"
30 #include "Exceptions.h"
31 #include "Utility.h"
32 
33 namespace FIX
34 {
35 class BeginString;
36 class ApplVerID;
37 
42 class DataDictionaryProvider
43 {
44 public:
47 
48  const DataDictionary& getSessionDataDictionary(const BeginString& beginString) const
49  throw( DataDictionaryNotFound );
50 
51  const DataDictionary& getApplicationDataDictionary(const ApplVerID& applVerID) const
52  throw( DataDictionaryNotFound );
53 
54  void addTransportDataDictionary(const BeginString& beginString, ptr::shared_ptr<DataDictionary>);
55  void addApplicationDataDictionary(const ApplVerID& applVerID, ptr::shared_ptr<DataDictionary>);
56 
57  void addTransportDataDictionary(const BeginString& beginString, const std::string& path)
58  { addTransportDataDictionary(beginString, ptr::shared_ptr<DataDictionary>( new DataDictionary(path) )); }
59  void addApplicationDataDictionary(const ApplVerID& applVerID, const std::string& path)
60  { addApplicationDataDictionary(applVerID, ptr::shared_ptr<DataDictionary>( new DataDictionary(path) )); }
61 
62 private:
63  std::map<std::string, ptr::shared_ptr<DataDictionary> > m_transportDictionaries;
64  std::map<std::string, ptr::shared_ptr<DataDictionary> > m_applicationDictionaries;
66 };
67 }
68 
69 #endif //FIX_DATADICTIONARYPROVIDER_H
70 
FIX::DataDictionaryProvider::m_transportDictionaries
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_transportDictionaries
Definition: DataDictionaryProvider.h:80
FIX::DataDictionaryProvider::DataDictionaryProvider
DataDictionaryProvider()
Definition: DataDictionaryProvider.h:62
FIX::DataDictionaryProvider::addApplicationDataDictionary
void addApplicationDataDictionary(const ApplVerID &applVerID, ptr::shared_ptr< DataDictionary >)
Definition: DataDictionaryProvider.cpp:83
FIX::DataDictionaryProvider::getSessionDataDictionary
const DataDictionary & getSessionDataDictionary(const BeginString &beginString) const
Definition: DataDictionaryProvider.cpp:55
FIX::DataDictionaryProvider::getApplicationDataDictionary
const DataDictionary & getApplicationDataDictionary(const ApplVerID &applVerID) const
Definition: DataDictionaryProvider.cpp:66
FIX::DataDictionaryProvider::m_applicationDictionaries
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_applicationDictionaries
Definition: DataDictionaryProvider.h:81
FIX
Definition: Acceptor.cpp:34
FIX::DataDictionary
Represents a data dictionary for a version of FIX.
Definition: DataDictionary.h:66
FIX::DataDictionaryProvider::emptyDataDictionary
DataDictionary emptyDataDictionary
Definition: DataDictionaryProvider.h:82
Exceptions.h
Utility.h
FIX::DataDictionaryProvider::addTransportDataDictionary
void addTransportDataDictionary(const BeginString &beginString, ptr::shared_ptr< DataDictionary >)
Definition: DataDictionaryProvider.cpp:77
DataDictionary.h

Generated on Wed Apr 29 2020 19:41:30 for QuickFIX by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2001