--- /dev/null
+#pragma once\r
+\r
+#include "DataType.h"\r
+\r
+#include <vector>\r
+\r
+#include "SimanticsDataParser.h"\r
+#include "SimanticsDataLexer.h"\r
+\r
+namespace Databoard {\r
+\r
+ class Range;\r
+\r
+ namespace Type {\r
+\r
+ struct DATABOARD_API strTypeDefinition {\r
+ std::string name;\r
+ DataType* dataBoard;\r
+\r
+ std::string writeOut();\r
+ };\r
+\r
+ //DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
+ //bool addToChildren(DataType* parent, char* name, DataType* children);\r
+ //Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
+ //void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
+\r
+ class DATABOARD_API DataBoardRepository {\r
+ public:\r
+\r
+ DataBoardRepository();\r
+ virtual ~DataBoardRepository();\r
+\r
+ int count();\r
+ strTypeDefinition getDataBoard(int i);\r
+ DataType* getDataBoard(std::string name);\r
+\r
+ bool open(std::string fileName);\r
+\r
+ const strTypeDefinition* get(std::string name);\r
+\r
+ void addDataBoard(char* name, DataType* dataBoard);\r
+\r
+\r
+ protected:\r
+\r
+ std::vector<strTypeDefinition> dataBoards;\r
+\r
+ private:\r
+\r
+ //DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
+ //bool addToChildren(DataType* parent, char* name, DataType* children);\r
+ //Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
+ //void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
+\r
+\r
+ void print(pANTLR3_BASE_TREE tree, int indent = 0);\r
+\r
+ };\r
+\r
+\r
+ class DATABOARD_API temporaryname {\r
+ public:\r
+\r
+ temporaryname(DataBoardRepository* dataBoardRepository);\r
+ virtual ~temporaryname();\r
+\r
+ DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
+\r
+\r
+ private:\r
+\r
+ Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
+ bool addToChildren(DataType* parent, char* name, DataType* children);\r
+\r
+ void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
+\r
+\r
+ DataBoardRepository* dataBoardRepository;\r
+\r
+ };\r
+ }\r
+}\r