#include <bulkDataNTConfigurationParser.h>
Classes | |
struct | _ReceiverCfg |
struct | _SenderCfg |
the name of the library that Qos should use as a base More... | |
struct | ParsingInfo |
Public Member Functions | |
BulkDataConfigurationParser (const char *baseLibraryName) | |
~BulkDataConfigurationParser () | |
void | parseSenderConfig (char const *configXML) |
void | parseReceiverConfig (char const *configXML) |
std::set< char const * > | getAllSenderStreamNames () |
std::set< char const * > | getAllReceiverStreamNames () |
std::set< char const * > | getAllSenderFlowNames (char const *streamName) |
std::set< char const * > | getAllReceiverFlowNames (char const *streamName) |
SenderStreamConfiguration * | getSenderStreamConfiguration (char const *streamName) |
SenderFlowConfiguration * | getSenderFlowConfiguration (char const *streamName, char const *flowName) |
ReceiverStreamConfiguration * | getReceiverStreamConfiguration (char const *streamName) |
ReceiverFlowConfiguration * | getReceiverFlowConfiguration (char const *streamName, char const *flowName) |
Private Types | |
enum | ParsingType { SENDER, RECEIVER } |
typedef struct AcsBulkdata::BulkDataConfigurationParser::_SenderCfg | SenderCfg |
the name of the library that Qos should use as a base | |
typedef struct AcsBulkdata::BulkDataConfigurationParser::_ReceiverCfg | ReceiverCfg |
typedef std::map< std::string, ReceiverCfg > | ReceiverCfgMap |
typedef std::map< std::string, SenderCfg > | SenderCfgMap |
Private Member Functions | |
void | parseConfig (const char *config, const struct ParsingInfo &parsingInfo) |
const XMLCh * | getAttrValue (xercesc::DOMNode *node, const char *name) |
unsigned short | getUnsignedShortFromAttribute (xercesc::DOMNode *node, const char *attribute, unsigned short defaultVal) |
double | getDoubleFromAttribute (xercesc::DOMNode *node, const char *attribute, double defaultVal) |
std::string | getStringFromAttribute (xercesc::DOMNode *node, const char *attribute, std::string defaultVal) |
bool | getBooleanFromAttribute (xercesc::DOMNode *node, const char *attribute, bool defaultVal) |
std::string | getQosProfile (const char *profileName, const char *baseProfile, xercesc::DOMNode *node) |
std::string | getStrURIforStream (std::list< std::string > profiles) |
void | cleanReceiverConfigs () |
void | cleanSenderConfigs () |
void | cleanConfig (ReceiverCfg *recvConfig, SenderCfg *senderConfig, ParsingType type) |
std::string | getElementLocalName (xercesc::DOMNode *node) |
Private Attributes | |
const char * | m_baseLibrary |
xercesc::DOMWriter * | m_writer |
used for the Qos library name of generated XML | |
xercesc::AbstractDOMParser * | m_parser |
std::string | m_baseQoSlibrary |
ReceiverCfgMap | receiverConfigMap_m |
SenderCfgMap | senderConfigMap_m |
Static Private Attributes | |
static const char *const | SENDER_STREAM_NODENAME |
static const char *const | SENDER_STREAM_QOS_NODENAME |
static const char *const | SENDER_FLOW_NODENAME |
static const char *const | SENDER_FLOW_QOS_NODENAME |
static const char *const | RECEIVER_STREAM_NODENAME |
static const char *const | RECEIVER_STREAM_QOS_NODENAME |
static const char *const | RECEIVER_FLOW_NODENAME |
static const char *const | RECEIVER_FLOW_QOS_NODENAME |
static const char *const | DYNAMIC_LIBRARY_NAME |
static const char *const | DEFAULT_QOS_LIBRARY_NAME |
static const struct ParsingInfo | SENDER_PARSING_INFO |
static const struct ParsingInfo | RECEIVER_PARSING_INFO |
typedef struct AcsBulkdata::BulkDataConfigurationParser::_ReceiverCfg AcsBulkdata::BulkDataConfigurationParser::ReceiverCfg [private] |
typedef std::map<std::string, ReceiverCfg> AcsBulkdata::BulkDataConfigurationParser::ReceiverCfgMap [private] |
typedef struct AcsBulkdata::BulkDataConfigurationParser::_SenderCfg AcsBulkdata::BulkDataConfigurationParser::SenderCfg [private] |
the name of the library that Qos should use as a base
typedef std::map<std::string, SenderCfg> AcsBulkdata::BulkDataConfigurationParser::SenderCfgMap [private] |
enum AcsBulkdata::BulkDataConfigurationParser::ParsingType [private] |
AcsBulkdata::BulkDataConfigurationParser::BulkDataConfigurationParser | ( | const char * | baseLibraryName | ) |
Parser constructor. Its creation needs a base library as a mandatory argument, which will prevent name duplication among configured entities. An example of potential danger would be a process that creates the same streams/flows combinations in two separate places. Such a process would get a failure when creating the second set of streams/flows, since the "QoS profiles" (internal representations of the DDS configuration entities) would belong to the same "library", and would already exists on the RTI world.
baseLibraryName | The base library name to be used by all the configuration objects that this parser creates. An example would be the ACS component name, or any other particular identification string. |
AcsBulkdata::BulkDataConfigurationParser::~BulkDataConfigurationParser | ( | ) |
Destructor
void AcsBulkdata::BulkDataConfigurationParser::cleanConfig | ( | ReceiverCfg * | recvConfig, | |
SenderCfg * | senderConfig, | |||
ParsingType | type | |||
) | [private] |
void AcsBulkdata::BulkDataConfigurationParser::cleanReceiverConfigs | ( | ) | [private] |
void AcsBulkdata::BulkDataConfigurationParser::cleanSenderConfigs | ( | ) | [private] |
std::set<char const *> AcsBulkdata::BulkDataConfigurationParser::getAllReceiverFlowNames | ( | char const * | streamName | ) |
Returns, for the given Receiver stream name, a set of strings containing all Receiver Flow names found in the parsed XML document. If none was found, an empty set is returned
std::set<char const *> AcsBulkdata::BulkDataConfigurationParser::getAllReceiverStreamNames | ( | ) |
Returns a set of strings containing all Receiver Stream names found in the parsed XML document. If none was found, an empty set is returned
std::set<char const *> AcsBulkdata::BulkDataConfigurationParser::getAllSenderFlowNames | ( | char const * | streamName | ) |
Returns, for the given Sender stream name, a set of strings containing all Sender Flow names found in the parsed XML document. If none was found, an empty set is returned
streamName | The name of the sender stream |
std::set<char const *> AcsBulkdata::BulkDataConfigurationParser::getAllSenderStreamNames | ( | ) |
Returns a set of strings containing all Sender Stream names found in the parsed XML document. If none was found, an empty set is returned
const XMLCh* AcsBulkdata::BulkDataConfigurationParser::getAttrValue | ( | xercesc::DOMNode * | node, | |
const char * | name | |||
) | [private] |
bool AcsBulkdata::BulkDataConfigurationParser::getBooleanFromAttribute | ( | xercesc::DOMNode * | node, | |
const char * | attribute, | |||
bool | defaultVal | |||
) | [private] |
double AcsBulkdata::BulkDataConfigurationParser::getDoubleFromAttribute | ( | xercesc::DOMNode * | node, | |
const char * | attribute, | |||
double | defaultVal | |||
) | [private] |
std::string AcsBulkdata::BulkDataConfigurationParser::getElementLocalName | ( | xercesc::DOMNode * | node | ) | [private] |
std::string AcsBulkdata::BulkDataConfigurationParser::getQosProfile | ( | const char * | profileName, | |
const char * | baseProfile, | |||
xercesc::DOMNode * | node | |||
) | [private] |
ReceiverFlowConfiguration* AcsBulkdata::BulkDataConfigurationParser::getReceiverFlowConfiguration | ( | char const * | streamName, | |
char const * | flowName | |||
) |
Returns, if found during parsing, the configuration object for the given Receiver flow.
streamName | The name of the Receiver stream where the given flow resides | |
flowName | The name of the Receiver flow |
ReceiverStreamConfiguration* AcsBulkdata::BulkDataConfigurationParser::getReceiverStreamConfiguration | ( | char const * | streamName | ) |
Returns, if found during parsing, the configuration object for the given Receiver stream.
streamName | The name of the Receiver stream |
SenderFlowConfiguration* AcsBulkdata::BulkDataConfigurationParser::getSenderFlowConfiguration | ( | char const * | streamName, | |
char const * | flowName | |||
) |
Returns, if found during parsing, the configuration object for the given Sender flow.
streamName | The name of the Sender stream where the given flow resides | |
flowName | The name of the Sender flow |
SenderStreamConfiguration* AcsBulkdata::BulkDataConfigurationParser::getSenderStreamConfiguration | ( | char const * | streamName | ) |
Returns, if found during parsing, the configuration object for the given Sender stream.
streamName | The name of the Sender stream |
std::string AcsBulkdata::BulkDataConfigurationParser::getStringFromAttribute | ( | xercesc::DOMNode * | node, | |
const char * | attribute, | |||
std::string | defaultVal | |||
) | [private] |
std::string AcsBulkdata::BulkDataConfigurationParser::getStrURIforStream | ( | std::list< std::string > | profiles | ) | [private] |
unsigned short AcsBulkdata::BulkDataConfigurationParser::getUnsignedShortFromAttribute | ( | xercesc::DOMNode * | node, | |
const char * | attribute, | |||
unsigned short | defaultVal | |||
) | [private] |
void AcsBulkdata::BulkDataConfigurationParser::parseConfig | ( | const char * | config, | |
const struct ParsingInfo & | parsingInfo | |||
) | [private] |
void AcsBulkdata::BulkDataConfigurationParser::parseReceiverConfig | ( | char const * | configXML | ) |
Given an XML document, parses it an retrieves the list of receiver streams that can be found. Each stream, and its corresponding flows, are properly configured depending on the QoS settings coming from the XML document
void AcsBulkdata::BulkDataConfigurationParser::parseSenderConfig | ( | char const * | configXML | ) |
Given an XML document, parses it an retrieves the list of sender streams that can be found. Each stream, and its corresponding flows, are properly configured depending on the QoS settings coming from the XML document
const char* const AcsBulkdata::BulkDataConfigurationParser::DEFAULT_QOS_LIBRARY_NAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::DYNAMIC_LIBRARY_NAME [static, private] |
const char* AcsBulkdata::BulkDataConfigurationParser::m_baseLibrary [private] |
std::string AcsBulkdata::BulkDataConfigurationParser::m_baseQoSlibrary [private] |
xercesc::AbstractDOMParser* AcsBulkdata::BulkDataConfigurationParser::m_parser [private] |
xercesc::DOMWriter* AcsBulkdata::BulkDataConfigurationParser::m_writer [private] |
used for the Qos library name of generated XML
const char* const AcsBulkdata::BulkDataConfigurationParser::RECEIVER_FLOW_NODENAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::RECEIVER_FLOW_QOS_NODENAME [static, private] |
const struct ParsingInfo AcsBulkdata::BulkDataConfigurationParser::RECEIVER_PARSING_INFO [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::RECEIVER_STREAM_NODENAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::RECEIVER_STREAM_QOS_NODENAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::SENDER_FLOW_NODENAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::SENDER_FLOW_QOS_NODENAME [static, private] |
const struct ParsingInfo AcsBulkdata::BulkDataConfigurationParser::SENDER_PARSING_INFO [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::SENDER_STREAM_NODENAME [static, private] |
const char* const AcsBulkdata::BulkDataConfigurationParser::SENDER_STREAM_QOS_NODENAME [static, private] |