summaryrefslogtreecommitdiffstats
path: root/src/uscxml/transform/ChartToC.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/transform/ChartToC.h')
-rw-r--r--src/uscxml/transform/ChartToC.h26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/uscxml/transform/ChartToC.h b/src/uscxml/transform/ChartToC.h
index 1ac59f3..f9b9599 100644
--- a/src/uscxml/transform/ChartToC.h
+++ b/src/uscxml/transform/ChartToC.h
@@ -29,6 +29,7 @@
#include <DOM/Node.hpp>
#include <XPath/XPath.hpp>
#include <ostream>
+#include <set>
namespace uscxml {
@@ -42,14 +43,18 @@ public:
protected:
ChartToC(const Interpreter& other);
-
+
void writeIncludes(std::ostream& stream);
void writeMacros(std::ostream& stream);
void writeTypes(std::ostream& stream);
void writeHelpers(std::ostream& stream);
void writeExecContent(std::ostream& stream);
+ void writeExecContentFinalize(std::ostream& stream);
+ void writeElementInfoInvocation(std::ostream& stream);
+
void writeElementInfo(std::ostream& stream);
+ void writeMachineInfo(std::ostream& stream);
void writeStates(std::ostream& stream);
void writeTransitions(std::ostream& stream);
void writeFSM(std::ostream& stream);
@@ -61,16 +66,20 @@ protected:
void resortStates(Arabica::DOM::Node<std::string>& node);
void setHistoryCompletion();
- void setStateCompletion();
- void prepare();
-
+ void setStateCompletion();
+ void prepare();
+
+ void findNestedMachines();
+
Interpreter interpreter;
Arabica::XPath::NodeSet<std::string> _states;
Arabica::XPath::NodeSet<std::string> _transitions;
-// std::string md5sum;
-
+ std::string _md5;
+ std::string _prefix;
+ std::set<std::string> _hasElement;
+
size_t _transCharArraySize;
std::string _transCharArrayInit;
std::string _transDataType;
@@ -78,6 +87,11 @@ protected:
size_t _stateCharArraySize;
std::string _stateCharArrayInit;
std::string _stateDataType;
+
+ ChartToC* _topMostMachine;
+ ChartToC* _parentMachine;
+ std::list<ChartToC*> _nestedMachines;
+ std::list<ChartToC*> _allMachines;
};
}