Map outermostMap, innerMap; |
ElementList elementList; |
elementList.addAscii("DefaultIProvider", "Provider_1"); |
innerMap.addKeyAscii("Provider_1", MapEntry::AddEnum, ElementList() |
.addAscii("Server", "Server_1") |
.addAscii("Logger", "Logger_1") |
.addAscii("Directory", "Directory_1") |
.addUInt("ItemCountHint", 5000) |
.addUInt("ServiceCountHint", 5000) |
.addUInt("RequestTimeout", 5000) |
.addInt("DispatchTimeoutApiThread", 1) |
.addUInt("CatchUnhandledException", 0) |
.addUInt("MaxDispatchCountApiThread", 500) |
.addUInt("MaxDispatchCountUserThread", 500) |
.addAscii("XmlTraceFileName", " MyXMLTrace") |
.addInt("XmlTraceMaxFileSize", 70000000) |
.addUInt("XmlTraceToFile", 0) |
.addUInt("XmlTraceToStdout", 1) |
.addUInt("XmlTraceToMultipleFiles", 0) |
.addUInt("XmlTraceWrite", 0) |
.addUInt("XmlTraceRead", 0) |
.addUInt("XmlTracePing", 1) |
.addUInt("XmlTraceHex", 1) |
.addInt("PipePort", 9696) |
.addUInt("RefreshFirstRequired", 1) |
.addUInt("AcceptDirMessageWithoutMinFilters", 0) |
.addUInt("AcceptMessageSameKeyButDiffStream", 0) |
.complete()) |
.complete(); |
elementList.addMap("IProviderList", innerMap).complete(); |
innerMap.clear(); |
outermostMap.addKeyAscii("IProviderGroup", MapEntry::AddEnum, elementList); |
elementList.clear(); |
innerMap.addKeyAscii("Server_1", MapEntry::AddEnum, ElementList() |
.addEnum("ServerType", 0) |
.addEnum("CompressionType", 1) |
.addUInt("GuaranteedOutputBuffers", 5000) |
.addUInt("NumInputBuffers", 5000) |
.addUInt("ConnectionPingTimeout", 70000) |
.addAscii("Port", "14002") |
.addUInt("TcpNodelay", 1) |
.complete()) |
.complete(); |
elementList.addMap("ServerList", innerMap).complete(); |
innerMap.clear(); |
outermostMap.addKeyAscii("ServerGroup", MapEntry::AddEnum, elementList); |
elementList.clear(); |
innerMap.addKeyAscii("Logger_1", MapEntry::AddEnum, |
ElementList() |
.addEnum("LoggerType", 0) |
.addAscii("FileName", "logFileProv") |
.addEnum("LoggerSeverity", 1).complete()) |
.complete(); |
elementList.addMap("LoggerList", innerMap).complete(); |
innerMap.clear(); |
outermostMap.addKeyAscii("LoggerGroup", MapEntry::AddEnum, elementList); |
elementList.clear(); |
innerMap.addKeyAscii("Dictionary_1", MapEntry::AddEnum, |
ElementList() |
.addEnum("DictionaryType", 0) |
.addAscii("RdmFieldDictionaryItemName", "RWFFld") |
.addAscii("EnumTypeDefItemName", "RWFEnum") |
.addAscii("RdmFieldDictionaryFileName", "./RDMFieldDictionary") |
.addAscii("EnumTypeDefFileName", |
"./enumtype.def").complete()).complete(); |
elementList.addMap("DictionaryList", innerMap).complete(); |
innerMap.clear(); |
outermostMap.addKeyAscii("DictionaryGroup", MapEntry::AddEnum, elementList); |
elementList.clear(); |
Map serviceMap; |
serviceMap.addKeyAscii("DIRECT_FEED", MapEntry::AddEnum, |
ElementList() |
.addElementList("InfoFilter", |
ElementList().addUInt("ServiceId", 1) |
.addAscii("Vendor", "Vendor") |
.addUInt("IsSource", 1) |
.addUInt("AcceptingConsumerStatus", 1) |
.addUInt("SupportsQoSRange", 1) |
.addUInt("SupportsOutOfBandSnapshots", 1) |
.addAscii("ItemList", "#.itemlist") |
.addArray("Capabilities", |
OmmArray().addAscii("MMT_MARKET_PRICE") |
.addAscii("MMT_MARKET_BY_PRICE") |
.addAscii("MMT_MARKET_BY_ORDER") |
.addAscii("130") |
.complete()) |
.addArray("DictionariesProvided", |
OmmArray().addAscii("Dictionary_1") |
.complete()) |
.addArray("DictionariesUsed", |
OmmArray().addAscii("Dictionary_1") |
.complete()) |
.addSeries("QoS", |
Series() |
.add( |
ElementList().addAscii("Timeliness", "Timeliness::RealTime") |
.addAscii("Rate", "Rate::TickByTick") |
.complete()) |
.complete()) |
.complete()) |
.addElementList("StateFilter", |
ElementList().addUInt("ServiceState", 1) |
.addUInt("AcceptingRequests", 1) |
.addElementList("Status", |
ElementList() |
.addAscii("StreamState", "StreamState::Open") |
.addAscii("DataState", "DataState::Suspect") |
.addAscii("StatusCode", "StatusCode::DacsDown") |
.addAscii("StatusText", "dacsDown") |
.complete()) |
.complete()) |
.complete()) |
.complete()) |
innerMap.addKeyAscii("Directory_1", MapEntry::AddEnum, serviceMap).complete(); |
elementList.clear(); |
elementList.addMap("DirectoryList", innerMap).complete(); |
outermostMap.addKeyAscii("DirectoryGroup", MapEntry::AddEnum, elementList).complete(); |
... |
OmmProvider |
provider( OmmIProviderConfig().config(outermostMap).operationModel( |
OmmIProviderConfig::UserDispatchEnum ), appClient ); |