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 
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 
Represents a data dictionary for a version of FIX.
Queries for DataDictionary based on appropriate version of FIX.
void addTransportDataDictionary(const BeginString &beginString, ptr::shared_ptr< DataDictionary >)
const DataDictionary & getApplicationDataDictionary(const ApplVerID &applVerID) const
void addTransportDataDictionary(const BeginString &beginString, const std::string &path)
void addApplicationDataDictionary(const ApplVerID &applVerID, const std::string &path)
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_transportDictionaries
std::map< std::string, ptr::shared_ptr< DataDictionary > > m_applicationDictionaries
const DataDictionary & getSessionDataDictionary(const BeginString &beginString) const
void addApplicationDataDictionary(const ApplVerID &applVerID, ptr::shared_ptr< DataDictionary >)
Definition: Acceptor.cpp:35
DataDictionary not found for BeginString or ApplVerID.
Definition: Exceptions.h:47

Generated on Wed Nov 24 2021 09:55:53 for QuickFIX by doxygen 1.9.1 written by Dimitri van Heesch, © 1997-2001