--- /dev/null
+#pragma once\r
+\r
+#include "DataBoardAPI.h"\r
+\r
+#include "SimanticsDataParser.h"\r
+#include "SimanticsDataLexer.h"\r
+\r
+#include <string>\r
+#include <vector>\r
+\r
+namespace Databoard {\r
+\r
+ namespace Type {\r
+ class DataType;\r
+ class DataBoardRepository;\r
+ struct strTypeDefinition;\r
+ }\r
+\r
+ namespace Value {\r
+\r
+ class Value;\r
+\r
+ struct DATABOARD_API strDataValueDefinition {\r
+ std::string name;\r
+ std::string type;\r
+ Value* value;\r
+\r
+ std::string writeOut() const;\r
+ };\r
+\r
+ class DATABOARD_API DataValueRepository {\r
+ public:\r
+ DataValueRepository();\r
+ virtual ~DataValueRepository();\r
+\r
+ int count();\r
+ const strDataValueDefinition* getDataValue(int i);\r
+ const strDataValueDefinition* getDataValue(std::string value);\r
+\r
+ bool open(std::string fileName, Databoard::Type::DataBoardRepository* dataBoardRepository);\r
+ Value* open(std::string fileName, Databoard::Type::DataType* dataType);\r
+ \r
+\r
+ protected:\r
+\r
+ std::vector<strDataValueDefinition> values;\r
+\r
+ private:\r
+\r
+ Databoard::Type::DataBoardRepository* dataBoardRepository;\r
+\r
+ Value* parse(pANTLR3_BASE_TREE tree, Value* parent = NULL, int indent = 0);\r
+ void print(pANTLR3_BASE_TREE tree, int indent = 0);\r
+\r
+ const Databoard::Type::strTypeDefinition* parseTypeReference(pANTLR3_BASE_TREE tree);\r
+ Value* parseValues(pANTLR3_BASE_TREE tree, Databoard::Type::DataType* dataBoard, int indent);\r
+\r
+ void addDataValue(std::string name, std::string type, Value* dataValue);\r
+ };\r
+ }\r
+}\r