1 // Copyright (C) 2014-20xx CEA/DEN, EDF R&D
4 * Config_DataModelReader.h
6 * Created on: Jul 21, 2015
10 #ifndef CONFIG_DATAMODELREADER_H_
11 #define CONFIG_DATAMODELREADER_H_
13 #include <Config_def.h>
14 #include <Config_XMLReader.h>
20 * \class Config_DataModelReader
22 * \brief Class that reads data model definition XML for
23 * further processing in the XGUI_DataModel
25 class Config_DataModelReader : public Config_XMLReader
30 * \param theXmlFile - full path to the xml file which will be processed by the reader
32 CONFIG_EXPORT Config_DataModelReader();
33 CONFIG_EXPORT virtual ~Config_DataModelReader();
35 /// Returns name of type of tree items in root
36 CONFIG_EXPORT std::string rootType() const { return myRootTypes; }
38 /// Returns number of folders under root
39 CONFIG_EXPORT int rootFoldersNumber() const { return myRootFolderNames.size(); }
41 /// Returns name of the folder by its Id
42 /// \param theId id of the folder
43 CONFIG_EXPORT std::string rootFolderName(int theId) const { return myRootFolderNames[theId]; }
45 /// Returns data type in the folder by its Id
46 /// \param theId id of the folder
47 CONFIG_EXPORT std::string rootFolderType(int theId) const { return myRootFolderTypes[theId]; }
49 /// Returns icon of a folder by its Id
50 /// \param theId id of the folder
51 CONFIG_EXPORT std::string rootFolderIcon(int theId) const { return myRootFolderIcons[theId]; }
54 /// Overloaded method. Defines how to process each node
55 virtual void processNode(xmlNodePtr theNode);
58 std::vector<std::string> myRootFolderNames;
59 std::vector<std::string> myRootFolderTypes;
60 std::vector<std::string> myRootFolderIcons;
62 std::string myRootTypes;