]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/DataBoardRepository.h
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.databoard / cpp / DataBoardTest / DataBoard / DataBoardRepository.h
diff --git a/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/DataBoardRepository.h b/bundles/org.simantics.databoard/cpp/DataBoardTest/DataBoard/DataBoardRepository.h
new file mode 100644 (file)
index 0000000..7da3c80
--- /dev/null
@@ -0,0 +1,83 @@
+#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