]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 #pragma once\r
2 \r
3 #include "DataType.h"\r
4 \r
5 #include <vector>\r
6 \r
7 #include "SimanticsDataParser.h"\r
8 #include "SimanticsDataLexer.h"\r
9 \r
10 namespace Databoard {\r
11 \r
12         class Range;\r
13 \r
14         namespace Type {\r
15 \r
16                 struct DATABOARD_API strTypeDefinition {\r
17                         std::string name;\r
18                         DataType* dataBoard;\r
19 \r
20                         std::string writeOut();\r
21                 };\r
22 \r
23                 //DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
24                 //bool addToChildren(DataType* parent, char* name, DataType* children);\r
25                 //Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
26                 //void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
27 \r
28                 class DATABOARD_API DataBoardRepository {\r
29                 public:\r
30 \r
31                         DataBoardRepository();\r
32                         virtual ~DataBoardRepository();\r
33 \r
34                         int count();\r
35                         strTypeDefinition getDataBoard(int i);\r
36                         DataType* getDataBoard(std::string name);\r
37 \r
38                         bool open(std::string fileName);\r
39 \r
40                         const strTypeDefinition* get(std::string name);\r
41 \r
42                         void addDataBoard(char* name, DataType* dataBoard);\r
43 \r
44 \r
45                 protected:\r
46 \r
47                         std::vector<strTypeDefinition> dataBoards;\r
48 \r
49                 private:\r
50 \r
51                         //DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
52                         //bool addToChildren(DataType* parent, char* name, DataType* children);\r
53                         //Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
54                         //void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
55 \r
56 \r
57                         void print(pANTLR3_BASE_TREE tree, int indent = 0);\r
58 \r
59                 };\r
60 \r
61 \r
62                 class DATABOARD_API temporaryname {\r
63                 public:\r
64 \r
65                         temporaryname(DataBoardRepository* dataBoardRepository);\r
66                         virtual ~temporaryname();\r
67 \r
68                         DataType* parse(pANTLR3_BASE_TREE tree, DataType* parent = NULL, int indent = 0);\r
69 \r
70 \r
71                 private:\r
72 \r
73                         Range* parseRange(pANTLR3_BASE_TREE tree, int minPos, int maxPos);\r
74                         bool addToChildren(DataType* parent, char* name, DataType* children);\r
75 \r
76                         void parseParameters(pANTLR3_BASE_TREE tree, DataType* type);\r
77 \r
78 \r
79                         DataBoardRepository* dataBoardRepository;\r
80 \r
81                 };\r
82         }\r
83 }\r