27#ifndef SEQUENCETREE_H_
28#define SEQUENCETREE_H_
111 int RunTree (DOMNode* node,
void* ptr,
unsigned int (*fun) (
void*, DOMNode*) ,
int depth = 0);
118 unsigned int Populate (
bool verbose =
true);
128 static unsigned int CreateModule(
void* ptr, DOMNode* node);
190 static vector<string>
Tokenize(
const string& str,
const string& delimiters =
",");
260 map<DOMNode*, Module*> m_Modules;
263 map<DOMNode*, vector<Module*>> m_node2children;
Implementation of JEMRIS ModulePrototypeFactory.
Implementation of JEMRIS XMLIO.
Concat sequence prototype.
Definition ConcatSequence.h:48
Prototype of a SequenceContainer.
Definition ContainerSequence.h:38
Prototype of a Container.
Definition Container.h:39
Module factory.
Definition ModulePrototypeFactory.h:35
Module super class! ABC for all Objects in the sequence framework.
Definition Module.h:41
World parameters provide the parametric data of the sequence.
Definition Parameters.h:37
Tree representation of the sequence.
Definition SequenceTree.h:45
ModulePrototypeFactory * GetMPF()
Definition SequenceTree.h:204
DOMNamedNodeMap * GetAttributes(DOMNode *node)
Definition SequenceTree.cpp:111
Module * GetModule(DOMNode *node)
Definition SequenceTree.cpp:116
Parameters * GetParameters()
Definition SequenceTree.h:243
int RunTree(DOMNode *node, void *ptr, unsigned int(*fun)(void *, DOMNode *), int depth=0)
Definition SequenceTree.cpp:202
string m_seq_file
Definition SequenceTree.h:261
DOMNodeList * GetChildNodes(DOMNode *node)
Definition SequenceTree.cpp:104
DOMDocument * m_dom_doc
Definition SequenceTree.h:257
bool GetStatus()
Get my status of parsing XML.
Definition SequenceTree.h:248
vector< Module * > GetChildren(DOMNode *node)
Definition SequenceTree.cpp:274
SequenceTree()
Definition SequenceTree.cpp:38
unsigned int Populate(bool verbose=true)
Definition SequenceTree.cpp:136
vector< Module * > GetChildrenDynamic(DOMNode *node)
Definition SequenceTree.cpp:304
void SerializeModules(string xml_file)
Definition SequenceTree.cpp:361
string GetSequenceFilename()
Definition SequenceTree.cpp:92
static vector< string > Tokenize(const string &str, const string &delimiters=",")
Module * GetParent(DOMNode *node)
Definition SequenceTree.cpp:262
Parameters * m_parameters
Definition SequenceTree.h:255
ConcatSequence * m_root_seq
Definition SequenceTree.h:256
ConcatSequence * GetRootConcatSequence()
Definition SequenceTree.cpp:330
~SequenceTree()
Definition SequenceTree.cpp:51
ContainerSequence * GetContainerSequence()
Definition SequenceTree.cpp:339
unsigned int AddModule(string name)
Definition SequenceTree.cpp:128
int m_depth
Definition SequenceTree.h:254
Module * GetModuleByAttributeValue(string name, string value)
Definition SequenceTree.cpp:348
DOMDocument * GetDOMDocument()
Definition SequenceTree.h:197
static unsigned int CreateModule(void *ptr, DOMNode *node)
Definition SequenceTree.cpp:245
void Initialize(string seqFile)
Definition SequenceTree.cpp:68
int GetDepth()
Definition SequenceTree.h:218
bool m_state
Definition SequenceTree.h:253
DOMNode * GetParentNode(DOMNode *node)
Definition SequenceTree.cpp:97
map< DOMNode *, Module * > * GetModuleMap()
Definition SequenceTree.h:211
Module * GetChild(DOMNode *node, unsigned int position)
Definition SequenceTree.cpp:321
string GetSequenceDirectory()
Definition SequenceTree.cpp:87
XML file-IO class.
Definition XMLIO.h:61