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