19 #define CFG_OUTPUTHUMAN 0x00000001
20 #define CFG_OUTPUTXML 0x00000002
61 boost::program_options::options_description* m_configDesc;
62 boost::program_options::options_description* m_hiddenDesc;
63 boost::program_options::positional_options_description* m_posDesc;
64 boost::program_options::variables_map* m_vm;
66 std::vector<std::string> m_elementsToProcess;
67 std::vector<std::string> m_filteredElementNames;
68 std::vector<std::string> m_filteredElementComponentNames;
69 unsigned int m_optionBits;
70 std::string m_XMLFilePath;
114 void PopulateParams(
const ElementInfoParam* ptrParams, std::vector<SSTInfoElement_ParamInfo*>* ptrParamArray)
117 if (NULL != ptrParams) {
118 while (NULL != ptrParams->name) {
120 SSTInfoElement_ParamInfo* ptrParamInfo =
new SSTInfoElement_ParamInfo(ptrParams);
121 ptrParamArray->push_back(ptrParamInfo);
143 m_numValidEvents = 0;
146 analyzeValidEventsArray();
178 void analyzeValidEventsArray();
181 unsigned int m_numValidEvents;
184 void PopulatePorts(
const ElementInfoPort* ptrPorts, std::vector<SSTInfoElement_PortInfo*>* ptrPortArray)
187 if (NULL != ptrPorts) {
188 while (NULL != ptrPorts->name) {
190 SSTInfoElement_PortInfo* ptrPortInfo =
new SSTInfoElement_PortInfo(ptrPorts);
191 ptrPortArray->push_back(ptrPortInfo);
243 void PopulateStatistic(
const ElementInfoStatistic* ptrStats, std::vector<SSTInfoElement_StatisticInfo*>* ptrStatArray)
246 if (NULL != ptrStats) {
247 while (NULL != ptrStats->name) {
249 SSTInfoElement_StatisticInfo* ptrStatInfo =
new SSTInfoElement_StatisticInfo(ptrStats);
250 ptrStatArray->push_back(ptrStatInfo);
279 PopulateParams(ptrParams, &m_ParamArray);
281 ptrPorts = elc->
ports;
282 PopulatePorts(ptrPorts, &m_PortArray);
284 buildCategoryString();
286 ptrStats = elc->
stats;
287 PopulateStatistic(ptrStats, &m_StatisticArray);
329 void buildCategoryString();
332 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
333 std::vector<SSTInfoElement_PortInfo*> m_PortArray;
334 std::vector<SSTInfoElement_StatisticInfo*> m_StatisticArray;
335 std::string m_CategoryString;
357 PopulateParams(ptrParams, &m_ParamArray);
384 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
444 PopulateParams(ptrParams, &m_ParamArray);
474 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
497 PopulateParams(ptrParams, &m_ParamArray);
499 ptrStats = elsc->
stats;
500 PopulateStatistic(ptrStats, &m_StatisticArray);
532 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
533 std::vector<SSTInfoElement_StatisticInfo*> m_StatisticArray;
628 populateLibraryInfo();
708 void populateLibraryInfo();
710 void addInfoIntrospector(
const ElementInfoIntrospector* eii) {m_IntrospectorArray.push_back(
new SSTInfoElement_IntrospectorInfo(eii));}
711 void addInfoEvent(
const ElementInfoEvent* eie) {m_EventArray.push_back(
new SSTInfoElement_EventInfo(eie));}
712 void addInfoModule(
const ElementInfoModule* eim) {m_ModuleArray.push_back(
new SSTInfoElement_ModuleInfo(eim));}
713 void addInfoSubComponent(
const ElementInfoSubComponent* eisc) {m_SubComponentArray.push_back(
new SSTInfoElement_SubComponentInfo(eisc));}
714 void addInfoPartitioner(
const ElementInfoPartitioner* eip) {m_PartitionerArray.push_back(
new SSTInfoElement_PartitionerInfo(eip));}
715 void addInfoGenerator(
const ElementInfoGenerator* eig) {m_GeneratorArray.push_back(
new SSTInfoElement_GeneratorInfo(eig));}
717 const ElementLibraryInfo* m_eli;
718 std::vector<SSTInfoElement_ComponentInfo*> m_ComponentArray;
719 std::vector<SSTInfoElement_IntrospectorInfo*> m_IntrospectorArray;
720 std::vector<SSTInfoElement_EventInfo*> m_EventArray;
721 std::vector<SSTInfoElement_ModuleInfo*> m_ModuleArray;
722 std::vector<SSTInfoElement_SubComponentInfo*> m_SubComponentArray;
723 std::vector<SSTInfoElement_PartitionerInfo*> m_PartitionerArray;
724 std::vector<SSTInfoElement_GeneratorInfo*> m_GeneratorArray;
SSTInfoElement_GeneratorInfo * getInfoGenerator(int Index)
Return a specific SSTInfoElement_GeneratorInfo object.
Definition: sstinfo.h:694
SSTInfoElement_PartitionerInfo(const ElementInfoPartitioner *elp)
Create a new SSTInfoElement_PartitionerInfo object.
Definition: sstinfo.h:547
const ElementInfoStatistic * stats
Definition: element.h:128
void outputPortInfo(int Index)
Output the Port Information.
Definition: sstinfo.cc:897
SSTInfoElement_ModuleInfo * getInfoModule(int Index)
Return a specific SSTInfoElement_ModuleInfo object.
Definition: sstinfo.h:679
const char * getDesc()
Return the Description of the Event.
Definition: sstinfo.h:408
Describes an Event.
Definition: element.h:103
const char * getName()
Return the Name of the Port.
Definition: sstinfo.h:150
void outputPartitionerInfo(int Index)
Output the Partitioner Information.
Definition: sstinfo.cc:1235
int getNumberOfLibraryComponents()
Return the number of Components within the Library.
Definition: sstinfo.h:638
SSTInfoElement_PartitionerInfo * getInfoPartitioner(int Index)
Return a specific SSTInfoElement_PartitionerInfo object.
Definition: sstinfo.h:689
const char * provides
Definition: element.h:119
Describes a Component and its associated information.
Definition: element.h:80
The SSTInfo representation of ElementLibraryInfo object.
Definition: sstinfo.h:619
Describes a Partitioner.
Definition: element.h:134
const char * getDesc()
Return the Description of the Port.
Definition: sstinfo.h:153
const uint8_t getEnableLevel()
Return the enable level of the Statistic.
Definition: sstinfo.h:226
SSTInfoElement_EventInfo * getInfoEvent(int Index)
Return a specific SSTInfoElement_EventInfo object.
Definition: sstinfo.h:674
const char * getName()
Return the Name of the Component.
Definition: sstinfo.h:291
const char * description
Definition: element.h:82
const char * getDesc()
Return the Description of the Parameter.
Definition: sstinfo.h:94
std::vector< std::string > * getElementsToProcessArray()
Return the list of elements to be processed.
Definition: sstinfo.h:41
const char * defaultValue
Definition: element.h:67
void generateParameterInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Parameter.
Definition: sstinfo.cc:884
std::string getLibraryDescription()
Return the Description of the Library.
Definition: sstinfo.h:635
const char * description
Definition: element.h:66
The SSTInfo representation of ElementInfoIntrospector object.
Definition: sstinfo.h:344
const char * getName()
Return the Name of the Statistic.
Definition: sstinfo.h:217
The SSTInfo representation of ElementInfoGenerator object.
Definition: sstinfo.h:580
const char ** validEvents
Definition: element.h:75
const char * getDesc()
Return the Description of the Partitioner.
Definition: sstinfo.h:557
The SSTInfo representation of ElementInfoModule object.
Definition: sstinfo.h:431
SSTInfoElement_IntrospectorInfo(const ElementInfoIntrospector *eli)
Create a new SSTInfoElement_IntrospectorInfo object.
Definition: sstinfo.h:349
uint32_t category
Definition: element.h:87
const char * getName()
Return the Name of the Module.
Definition: sstinfo.h:448
const char * name
Definition: element.h:81
Describes all the parts of the Element Library.
Definition: element.h:152
int getNumberOfLibrarySubComponents()
Return the number of SubComponents within the Library.
Definition: sstinfo.h:650
The SSTInfo representation of ElementInfoEvent object.
Definition: sstinfo.h:393
SSTInfoElement_PortInfo * getPortInfo(int index)
Return a Port Info Object.
Definition: sstinfo.h:304
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:369
const char * getName()
Return the Name of the Introspector.
Definition: sstinfo.h:361
SSTInfoElement_SubComponentInfo * getInfoSubComponent(int Index)
Return a specific SSTInfoElement_SubComponentInfo object.
Definition: sstinfo.h:684
const char * getName()
Return the Name of the Generator.
Definition: sstinfo.h:592
void generateSubComponentInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Component.
Definition: sstinfo.cc:1203
const char * description
Definition: element.h:95
SSTInfoElement_ParamInfo(const ElementInfoParam *elparam)
Create a new SSTInfoElement_ParamInfo object.
Definition: sstinfo.h:84
const char * description
Definition: element.h:105
The SSTInfo representation of ElementInfoComponent object.
Definition: sstinfo.h:264
void generateStatisticXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Statistic.
Definition: sstinfo.cc:981
SSTInfoElement_ModuleInfo(const ElementInfoModule *elm)
Create a new SSTInfoElement_ModuleInfo object.
Definition: sstinfo.h:436
const char * name
Definition: element.h:153
const char ** getValidEvents()
Return the array of Valid Events related to the Port.
Definition: sstinfo.h:156
const char * getDefault()
Return the Default value of the Parameter.
Definition: sstinfo.h:97
SSTInfoElement_IntrospectorInfo * getInfoIntrospector(int Index)
Return a specific SSTInfoElement_IntrospectorInfo object.
Definition: sstinfo.h:669
const char * getDesc()
Return the Description of the Generator.
Definition: sstinfo.h:595
SSTInfoElement_ComponentInfo * getInfoComponent(int Index)
Return a specific SSTInfoElement_ComponentInfo object.
Definition: sstinfo.h:664
void generateGeneratorInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Generator.
Definition: sstinfo.cc:1257
const char * getName()
Return the Name of the Parameter.
Definition: sstinfo.h:91
const ElementInfoStatistic * stats
Definition: element.h:88
SSTInfoElement_GeneratorInfo(const ElementInfoGenerator *elg)
Create a new SSTInfoElement_GeneratorInfo object.
Definition: sstinfo.h:585
const char * getName()
Return the Name of the SubComponent.
Definition: sstinfo.h:504
SSTInfoElement_SubComponentInfo(const ElementInfoSubComponent *elsc)
Create a new SSTInfoElement_SubComponentInfo object.
Definition: sstinfo.h:488
SSTInfoElement_StatisticInfo(const ElementInfoStatistic *elstat)
Create a new SSTInfoElement_StatisticInfo object.
Definition: sstinfo.h:210
void generatePortInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Port.
Definition: sstinfo.cc:907
std::vector< std::string > * getFilteredElementComponentNamesArray()
Return the list of filtered element.component names.
Definition: sstinfo.h:47
const char * getProvides()
Return what class the Module provides.
Definition: sstinfo.h:454
SSTInfoElement_StatisticInfo * getStatisticInfo(int index)
Return a Statistic Enable Info Object.
Definition: sstinfo.h:309
void outputComponentInfo(int Index)
Output the Component Information.
Definition: sstinfo.cc:997
const char * getDesc()
Return the Description of the Statistic.
Definition: sstinfo.h:220
const char * getDesc()
Return the Description of the SubComponent.
Definition: sstinfo.h:507
std::vector< std::string > * getFilteredElementNamesArray()
Return the list of filtered element names.
Definition: sstinfo.h:44
The SSTInfo Configuration class.
Definition: sstinfo.h:28
Describes Statistics used by a Component.
Definition: element.h:55
int getNumberOfLibraryGenerators()
Return the number of Generators within the Library.
Definition: sstinfo.h:656
void outputIntrospectorInfo(int Index)
Output the Introspector Information.
Definition: sstinfo.cc:1099
Describes a Generator.
Definition: element.h:143
const char * getName()
Return the Name of the Event.
Definition: sstinfo.h:405
const char * name
Definition: element.h:104
Describes an Introspector.
Definition: element.h:93
void generateModuleInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Module.
Definition: sstinfo.cc:1161
void outputStatisticInfo(int Index)
Output the Statistic Information.
Definition: sstinfo.cc:976
void outputModuleInfo(int Index)
Output the Module Information.
Definition: sstinfo.cc:1150
The SSTInfo representation of ElementInfoParam object.
Definition: sstinfo.h:79
const char * description
Definition: element.h:74
void generateEventInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Event.
Definition: sstinfo.cc:1138
void outputParameterInfo(int Index)
Output the Parameter Information.
Definition: sstinfo.cc:879
void outputLibraryInfo(int LibIndex)
Output the Library Information.
Definition: sstinfo.cc:671
const char * description
Definition: element.h:136
const char * getDesc()
Return the Description of the Module.
Definition: sstinfo.h:451
void generatePartitionerInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Partitioner.
Definition: sstinfo.cc:1240
const char * name
Definition: element.h:65
SSTInfoElement_StatisticInfo * getStatisticInfo(int index)
Return a Statistic Enable Info Object.
Definition: sstinfo.h:517
The SSTInfo representation of ElementInfoPort object.
Definition: sstinfo.h:135
const ElementInfoParam * params
Definition: element.h:98
void generateComponentInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Component.
Definition: sstinfo.cc:1021
std::string & getXMLFilePath()
Return the user defined path the XML File.
Definition: sstinfo.h:53
const char * name
Definition: element.h:94
const char * getName()
Return the Name of the Partitioner.
Definition: sstinfo.h:554
const ElementLibraryInfo * getLibraryInfo()
Return the ElementLibraryInfo object.
Definition: sstinfo.h:659
SSTInfoConfig()
Create a new SSTInfo configuration and parse the Command Line.
Definition: sstinfo.cc:404
SSTInfoElement_LibraryInfo(const ElementLibraryInfo *eli)
Create a new SSTInfoElement_LibraryInfo object.
Definition: sstinfo.h:625
const char * name
Definition: element.h:56
int getNumberOfLibraryIntrospectors()
Return the number of Introspectors within the Library.
Definition: sstinfo.h:641
SSTInfoElement_EventInfo(const ElementInfoEvent *ele)
Create a new SSTInfoElement_EventInfo object.
Definition: sstinfo.h:398
const char * getDesc()
Return the Description of the Introspector.
Definition: sstinfo.h:364
const ElementInfoParam * params
Definition: element.h:127
Describes Parameters to a Component.
Definition: element.h:64
int getNumberOfLibraryEvents()
Return the number of Events within the Library.
Definition: sstinfo.h:644
void outputEventInfo(int Index)
Output the Event Information.
Definition: sstinfo.cc:1133
const char * description
Definition: element.h:114
const char * description
Definition: element.h:57
int getNumberOfValidEvents()
Return the number of Valid Events related to the Port.
Definition: sstinfo.h:159
int getNumberOfLibraryModules()
Return the number of Modules within the Library.
Definition: sstinfo.h:647
int parseCmdLine(int argc, char *argv[])
Parse the Command Line.
Definition: sstinfo.cc:452
void generateIntrospectorInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Introspector.
Definition: sstinfo.cc:1110
const char * name
Definition: element.h:113
unsigned int getOptionBits()
Return the bit field of various command line options enabled.
Definition: sstinfo.h:50
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:459
Describes a Module.
Definition: element.h:112
const char * getValidEvent(unsigned int index)
Return the a specific Valid Events.
Definition: sstinfo.cc:961
const char * getUnits()
Return the Units of the Statistic.
Definition: sstinfo.h:223
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:512
const ElementInfoPort * ports
Definition: element.h:86
void generateLibraryInfoXMLData(int LibIndex, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Library.
Definition: sstinfo.cc:790
const char * name
Definition: element.h:73
const char * description
Definition: element.h:124
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:299
int getNumberOfLibraryPartitioners()
Return the number of Partitioners within the Library.
Definition: sstinfo.h:653
const uint8_t enableLevel
Definition: element.h:59
uint32_t getCategoryValue()
Return the Category value of the Component.
Definition: sstinfo.h:312
const ElementInfoParam * params
Definition: element.h:118
const char * description
Definition: element.h:145
const char * description
Definition: element.h:154
const ElementInfoParam * params
Definition: element.h:85
const char * name
Definition: element.h:135
Describes Ports that the Component can use.
Definition: element.h:72
The SSTInfo representation of ElementInfoPartitioner object.
Definition: sstinfo.h:542
const char * name
Definition: element.h:123
SSTInfoElement_PortInfo(const ElementInfoPort *elport)
Create a new SSTInfoElement_PortInfo object.
Definition: sstinfo.h:140
Definition: element.h:122
const char * name
Definition: element.h:144
const char * getDesc()
Return the Description of the Component.
Definition: sstinfo.h:294
The SSTInfo representation of ElementInfoPort object.
Definition: sstinfo.h:205
SSTInfoElement_ComponentInfo(const ElementInfoComponent *elc)
Create a new SSTInfoElement_ComponentInfo object.
Definition: sstinfo.h:269
void outputGeneratorInfo(int Index)
Output the Generator Information.
Definition: sstinfo.cc:1252
std::string getLibraryName()
Return the Name of the Library.
Definition: sstinfo.h:632
void outputSubComponentInfo(int Index)
Output the SubComponent Information.
Definition: sstinfo.cc:1185
const char * units
Definition: element.h:58
The SSTInfo representation of ElementInfoSubComponent object.
Definition: sstinfo.h:483
const char * getCategoryString()
Return the name of the Category of the Component.
Definition: sstinfo.h:315