19 #define CFG_OUTPUTHUMAN 0x00000001
20 #define CFG_OUTPUTXML 0x00000002
64 std::vector<std::string> m_elementsToProcess;
65 std::vector<std::string> m_filteredElementNames;
66 std::vector<std::string> m_filteredElementComponentNames;
67 unsigned int m_optionBits;
68 std::string m_XMLFilePath;
113 void PopulateParams(
const ElementInfoParam* ptrParams, std::vector<SSTInfoElement_ParamInfo*>* ptrParamArray)
116 if (NULL != ptrParams) {
117 while (NULL != ptrParams->name) {
119 SSTInfoElement_ParamInfo* ptrParamInfo =
new SSTInfoElement_ParamInfo(ptrParams);
120 ptrParamArray->push_back(ptrParamInfo);
142 m_numValidEvents = 0;
145 analyzeValidEventsArray();
177 void analyzeValidEventsArray();
180 unsigned int m_numValidEvents;
183 void PopulatePorts(
const ElementInfoPort* ptrPorts, std::vector<SSTInfoElement_PortInfo*>* ptrPortArray)
186 if (NULL != ptrPorts) {
187 while (NULL != ptrPorts->name) {
189 SSTInfoElement_PortInfo* ptrPortInfo =
new SSTInfoElement_PortInfo(ptrPorts);
190 ptrPortArray->push_back(ptrPortInfo);
242 void PopulateStatistic(
const ElementInfoStatistic* ptrStats, std::vector<SSTInfoElement_StatisticInfo*>* ptrStatArray)
245 if (NULL != ptrStats) {
246 while (NULL != ptrStats->name) {
248 SSTInfoElement_StatisticInfo* ptrStatInfo =
new SSTInfoElement_StatisticInfo(ptrStats);
249 ptrStatArray->push_back(ptrStatInfo);
278 PopulateParams(ptrParams, &m_ParamArray);
280 ptrPorts = elc->
ports;
281 PopulatePorts(ptrPorts, &m_PortArray);
283 buildCategoryString();
285 ptrStats = elc->
stats;
286 PopulateStatistic(ptrStats, &m_StatisticArray);
328 void buildCategoryString();
331 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
332 std::vector<SSTInfoElement_PortInfo*> m_PortArray;
333 std::vector<SSTInfoElement_StatisticInfo*> m_StatisticArray;
334 std::string m_CategoryString;
356 PopulateParams(ptrParams, &m_ParamArray);
383 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
443 PopulateParams(ptrParams, &m_ParamArray);
473 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
496 PopulateParams(ptrParams, &m_ParamArray);
498 ptrStats = elsc->
stats;
499 PopulateStatistic(ptrStats, &m_StatisticArray);
531 std::vector<SSTInfoElement_ParamInfo*> m_ParamArray;
532 std::vector<SSTInfoElement_StatisticInfo*> m_StatisticArray;
627 populateLibraryInfo();
707 void populateLibraryInfo();
709 void addInfoIntrospector(
const ElementInfoIntrospector* eii) {m_IntrospectorArray.push_back(
new SSTInfoElement_IntrospectorInfo(eii));}
710 void addInfoEvent(
const ElementInfoEvent* eie) {m_EventArray.push_back(
new SSTInfoElement_EventInfo(eie));}
711 void addInfoModule(
const ElementInfoModule* eim) {m_ModuleArray.push_back(
new SSTInfoElement_ModuleInfo(eim));}
712 void addInfoSubComponent(
const ElementInfoSubComponent* eisc) {m_SubComponentArray.push_back(
new SSTInfoElement_SubComponentInfo(eisc));}
713 void addInfoPartitioner(
const ElementInfoPartitioner* eip) {m_PartitionerArray.push_back(
new SSTInfoElement_PartitionerInfo(eip));}
714 void addInfoGenerator(
const ElementInfoGenerator* eig) {m_GeneratorArray.push_back(
new SSTInfoElement_GeneratorInfo(eig));}
716 const ElementLibraryInfo* m_eli;
717 std::vector<SSTInfoElement_ComponentInfo*> m_ComponentArray;
718 std::vector<SSTInfoElement_IntrospectorInfo*> m_IntrospectorArray;
719 std::vector<SSTInfoElement_EventInfo*> m_EventArray;
720 std::vector<SSTInfoElement_ModuleInfo*> m_ModuleArray;
721 std::vector<SSTInfoElement_SubComponentInfo*> m_SubComponentArray;
722 std::vector<SSTInfoElement_PartitionerInfo*> m_PartitionerArray;
723 std::vector<SSTInfoElement_GeneratorInfo*> m_GeneratorArray;
SSTInfoElement_GeneratorInfo * getInfoGenerator(int Index)
Return a specific SSTInfoElement_GeneratorInfo object.
Definition: sstinfo.h:693
SSTInfoElement_PartitionerInfo(const ElementInfoPartitioner *elp)
Create a new SSTInfoElement_PartitionerInfo object.
Definition: sstinfo.h:546
const ElementInfoStatistic * stats
Definition: element.h:128
void outputPortInfo(int Index)
Output the Port Information.
Definition: sstinfo.cc:868
SSTInfoElement_ModuleInfo * getInfoModule(int Index)
Return a specific SSTInfoElement_ModuleInfo object.
Definition: sstinfo.h:678
const char * getDesc()
Return the Description of the Event.
Definition: sstinfo.h:407
Describes an Event.
Definition: element.h:103
const char * getName()
Return the Name of the Port.
Definition: sstinfo.h:149
void outputPartitionerInfo(int Index)
Output the Partitioner Information.
Definition: sstinfo.cc:1206
int getNumberOfLibraryComponents()
Return the number of Components within the Library.
Definition: sstinfo.h:637
SSTInfoElement_PartitionerInfo * getInfoPartitioner(int Index)
Return a specific SSTInfoElement_PartitionerInfo object.
Definition: sstinfo.h:688
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:618
Describes a Partitioner.
Definition: element.h:134
const char * getDesc()
Return the Description of the Port.
Definition: sstinfo.h:152
const uint8_t getEnableLevel()
Return the enable level of the Statistic.
Definition: sstinfo.h:225
SSTInfoElement_EventInfo * getInfoEvent(int Index)
Return a specific SSTInfoElement_EventInfo object.
Definition: sstinfo.h:673
const char * getName()
Return the Name of the Component.
Definition: sstinfo.h:290
const char * description
Definition: element.h:82
const char * getDesc()
Return the Description of the Parameter.
Definition: sstinfo.h:93
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:855
std::string getLibraryDescription()
Return the Description of the Library.
Definition: sstinfo.h:634
const char * description
Definition: element.h:66
The SSTInfo representation of ElementInfoIntrospector object.
Definition: sstinfo.h:343
const char * getName()
Return the Name of the Statistic.
Definition: sstinfo.h:216
The SSTInfo representation of ElementInfoGenerator object.
Definition: sstinfo.h:579
const char ** validEvents
Definition: element.h:75
const char * getDesc()
Return the Description of the Partitioner.
Definition: sstinfo.h:556
The SSTInfo representation of ElementInfoModule object.
Definition: sstinfo.h:430
SSTInfoElement_IntrospectorInfo(const ElementInfoIntrospector *eli)
Create a new SSTInfoElement_IntrospectorInfo object.
Definition: sstinfo.h:348
uint32_t category
Definition: element.h:87
const char * getName()
Return the Name of the Module.
Definition: sstinfo.h:447
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:649
The SSTInfo representation of ElementInfoEvent object.
Definition: sstinfo.h:392
SSTInfoElement_PortInfo * getPortInfo(int index)
Return a Port Info Object.
Definition: sstinfo.h:303
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:368
const char * getName()
Return the Name of the Introspector.
Definition: sstinfo.h:360
SSTInfoElement_SubComponentInfo * getInfoSubComponent(int Index)
Return a specific SSTInfoElement_SubComponentInfo object.
Definition: sstinfo.h:683
const char * getName()
Return the Name of the Generator.
Definition: sstinfo.h:591
void generateSubComponentInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Component.
Definition: sstinfo.cc:1174
const char * description
Definition: element.h:95
SSTInfoElement_ParamInfo(const ElementInfoParam *elparam)
Create a new SSTInfoElement_ParamInfo object.
Definition: sstinfo.h:83
const char * description
Definition: element.h:105
The SSTInfo representation of ElementInfoComponent object.
Definition: sstinfo.h:263
void generateStatisticXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Statistic.
Definition: sstinfo.cc:952
SSTInfoElement_ModuleInfo(const ElementInfoModule *elm)
Create a new SSTInfoElement_ModuleInfo object.
Definition: sstinfo.h:435
const char * name
Definition: element.h:153
const char ** getValidEvents()
Return the array of Valid Events related to the Port.
Definition: sstinfo.h:155
const char * getDefault()
Return the Default value of the Parameter.
Definition: sstinfo.h:96
SSTInfoElement_IntrospectorInfo * getInfoIntrospector(int Index)
Return a specific SSTInfoElement_IntrospectorInfo object.
Definition: sstinfo.h:668
const char * getDesc()
Return the Description of the Generator.
Definition: sstinfo.h:594
SSTInfoElement_ComponentInfo * getInfoComponent(int Index)
Return a specific SSTInfoElement_ComponentInfo object.
Definition: sstinfo.h:663
void generateGeneratorInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Generator.
Definition: sstinfo.cc:1228
const char * getName()
Return the Name of the Parameter.
Definition: sstinfo.h:90
const ElementInfoStatistic * stats
Definition: element.h:88
SSTInfoElement_GeneratorInfo(const ElementInfoGenerator *elg)
Create a new SSTInfoElement_GeneratorInfo object.
Definition: sstinfo.h:584
const char * getName()
Return the Name of the SubComponent.
Definition: sstinfo.h:503
SSTInfoElement_SubComponentInfo(const ElementInfoSubComponent *elsc)
Create a new SSTInfoElement_SubComponentInfo object.
Definition: sstinfo.h:487
SSTInfoElement_StatisticInfo(const ElementInfoStatistic *elstat)
Create a new SSTInfoElement_StatisticInfo object.
Definition: sstinfo.h:209
void generatePortInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Port.
Definition: sstinfo.cc:878
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:453
SSTInfoElement_StatisticInfo * getStatisticInfo(int index)
Return a Statistic Enable Info Object.
Definition: sstinfo.h:308
void outputComponentInfo(int Index)
Output the Component Information.
Definition: sstinfo.cc:968
const char * getDesc()
Return the Description of the Statistic.
Definition: sstinfo.h:219
const char * getDesc()
Return the Description of the SubComponent.
Definition: sstinfo.h:506
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:655
void outputIntrospectorInfo(int Index)
Output the Introspector Information.
Definition: sstinfo.cc:1070
Describes a Generator.
Definition: element.h:143
const char * getName()
Return the Name of the Event.
Definition: sstinfo.h:404
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:1132
void outputStatisticInfo(int Index)
Output the Statistic Information.
Definition: sstinfo.cc:947
void outputModuleInfo(int Index)
Output the Module Information.
Definition: sstinfo.cc:1121
The SSTInfo representation of ElementInfoParam object.
Definition: sstinfo.h:78
const char * description
Definition: element.h:74
void generateEventInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Event.
Definition: sstinfo.cc:1109
void outputParameterInfo(int Index)
Output the Parameter Information.
Definition: sstinfo.cc:850
void outputLibraryInfo(int LibIndex)
Output the Library Information.
Definition: sstinfo.cc:642
const char * description
Definition: element.h:136
const char * getDesc()
Return the Description of the Module.
Definition: sstinfo.h:450
void generatePartitionerInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Partitioner.
Definition: sstinfo.cc:1211
const char * name
Definition: element.h:65
SSTInfoElement_StatisticInfo * getStatisticInfo(int index)
Return a Statistic Enable Info Object.
Definition: sstinfo.h:516
The SSTInfo representation of ElementInfoPort object.
Definition: sstinfo.h:134
const ElementInfoParam * params
Definition: element.h:98
void generateComponentInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Component.
Definition: sstinfo.cc:992
bool debugEnabled() const
Is debugging output enabled?
Definition: sstinfo.h:56
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:553
const ElementLibraryInfo * getLibraryInfo()
Return the ElementLibraryInfo object.
Definition: sstinfo.h:658
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:624
const char * name
Definition: element.h:56
int getNumberOfLibraryIntrospectors()
Return the number of Introspectors within the Library.
Definition: sstinfo.h:640
SSTInfoElement_EventInfo(const ElementInfoEvent *ele)
Create a new SSTInfoElement_EventInfo object.
Definition: sstinfo.h:397
const char * getDesc()
Return the Description of the Introspector.
Definition: sstinfo.h:363
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:643
void outputEventInfo(int Index)
Output the Event Information.
Definition: sstinfo.cc:1104
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:158
int getNumberOfLibraryModules()
Return the number of Modules within the Library.
Definition: sstinfo.h:646
int parseCmdLine(int argc, char *argv[])
Parse the Command Line.
Definition: sstinfo.cc:433
void generateIntrospectorInfoXMLData(int Index, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Introspector.
Definition: sstinfo.cc:1081
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:458
Describes a Module.
Definition: element.h:112
const char * getValidEvent(unsigned int index)
Return the a specific Valid Events.
Definition: sstinfo.cc:932
const char * getUnits()
Return the Units of the Statistic.
Definition: sstinfo.h:222
SSTInfoElement_ParamInfo * getParamInfo(int index)
Return a Parameter Info Object.
Definition: sstinfo.h:511
const ElementInfoPort * ports
Definition: element.h:86
void generateLibraryInfoXMLData(int LibIndex, TiXmlNode *XMLParentElement)
Create the formatted XML data of the Library.
Definition: sstinfo.cc:761
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:298
int getNumberOfLibraryPartitioners()
Return the number of Partitioners within the Library.
Definition: sstinfo.h:652
const uint8_t enableLevel
Definition: element.h:59
uint32_t getCategoryValue()
Return the Category value of the Component.
Definition: sstinfo.h:311
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:541
const char * name
Definition: element.h:123
SSTInfoElement_PortInfo(const ElementInfoPort *elport)
Create a new SSTInfoElement_PortInfo object.
Definition: sstinfo.h:139
Definition: element.h:122
const char * name
Definition: element.h:144
const char * getDesc()
Return the Description of the Component.
Definition: sstinfo.h:293
The SSTInfo representation of ElementInfoPort object.
Definition: sstinfo.h:204
SSTInfoElement_ComponentInfo(const ElementInfoComponent *elc)
Create a new SSTInfoElement_ComponentInfo object.
Definition: sstinfo.h:268
void outputGeneratorInfo(int Index)
Output the Generator Information.
Definition: sstinfo.cc:1223
std::string getLibraryName()
Return the Name of the Library.
Definition: sstinfo.h:631
void outputSubComponentInfo(int Index)
Output the SubComponent Information.
Definition: sstinfo.cc:1156
const char * units
Definition: element.h:58
The SSTInfo representation of ElementInfoSubComponent object.
Definition: sstinfo.h:482
const char * getCategoryString()
Return the name of the Category of the Component.
Definition: sstinfo.h:314