#ifdef _MSC_VER
#include "stdafx.h"
#else
#include "config.h"
#endif
#include "DataDictionary.h"
#include "DataDictionaryProvider.h"
#include "Fields.h"
namespace FIX {
DataDictionaryProvider::DataDictionaryProvider(const DataDictionaryProvider ©) { *this = copy; }
const DataDictionary &DataDictionaryProvider::getSessionDataDictionary(const BeginString &beginString) const
EXCEPT(DataDictionaryNotFound) {
std::map<std::string, std::shared_ptr<DataDictionary>>::const_iterator find
= m_transportDictionaries.find(beginString);
if (find != m_transportDictionaries.end()) {
return *find->second;
}
return emptyDataDictionary;
}
const DataDictionary &DataDictionaryProvider::getApplicationDataDictionary(const ApplVerID &applVerID) const
EXCEPT(DataDictionaryNotFound) {
std::map<std::string, std::shared_ptr<DataDictionary>>::const_iterator find
= m_applicationDictionaries.find(applVerID);
if (find != m_applicationDictionaries.end()) {
return *find->second;
}
return emptyDataDictionary;
}
void DataDictionaryProvider::addTransportDataDictionary(
const BeginString &beginString,
std::shared_ptr<DataDictionary> pDD) {
m_transportDictionaries[beginString.getValue()] = pDD;
}
void DataDictionaryProvider::addApplicationDataDictionary(
const ApplVerID &applVerID,
std::shared_ptr<DataDictionary> pDD) {
m_applicationDictionaries[applVerID.getValue()] = pDD;
}
}