LIMA
Libre Multilingual Analyzer — C++ API
Loading...
Searching...
No Matches
moduleConfigurationStructure.h
Go to the documentation of this file.
1// Copyright 2002-2013 CEA LIST
2// SPDX-FileCopyrightText: 2022 CEA LIST <gael.de-chalendar@cea.fr>
3//
4// SPDX-License-Identifier: MIT
5
16#ifndef MODULECONFIGURATIONSTRUCTURE_H
17#define MODULECONFIGURATIONSTRUCTURE_H
18
19#include "common/LimaCommon.h"
21
22#include <map>
23#include <deque>
24#include <string>
25
26namespace Lima {
27namespace Common {
28namespace XMLConfigurationFiles {
29
30 class GroupConfigurationStructure;
37class ModuleConfigurationStructurePrivate;
38class LIMA_XMLCONFIGURATIONFILES_EXPORT ModuleConfigurationStructure : public std::map< std::string, GroupConfigurationStructure >
39{
40public:
42 ModuleConfigurationStructure(const std::string& name);
43 ModuleConfigurationStructure(const QString& name);
47
48 const std::string& getName() const;
49
50 GroupConfigurationStructure& getGroupNamed(const std::string& name) ;
51 std::string& getParamValueAtKeyOfGroupNamed(const std::string& key, const std::string& name) ;
52 std::deque<std::string>& getListValuesAtKeyOfGroupNamed(const std::string& key, const std::string& name) ;
53 std::map<std::string,std::string>& getMapAtKeyOfGroupNamed(const std::string& key, const std::string& groupName);
54
55 void addGroupNamed(const std::string& group);
56 void addParamValuePairForGroup(const std::string& param, const std::string& value, const std::string& group);
57 void addListNamedForGroup(const std::string& listName, const std::string& group);
58 void addItemInListNamedForGroup(const std::string& item, const std::string& listName, const std::string& group);
59 void addMapInGroup(const std::string& mapName,const std::string& groupName);
60 void addEntryInMapInGroup(const std::string& entryKey,const std::string& entryValue,const std::string& mapName,const std::string& groupName);
61 void addAttributeInGroup(const std::string& attKey,const std::string& attValue,const std::string& groupName);
62
63 void addGroupNamed(const QString& group);
64 void addParamValuePairForGroup(const QString& param, const QString& value, const QString& group);
65 void addListNamedForGroup(const QString& listName, const QString& group);
66 void addItemInListNamedForGroup(const QString& item, const QString& listName, const QString& group);
67 void addMapInGroup(const QString& mapName,const QString& groupName);
68 void addEntryInMapInGroup(const QString& entryKey,const QString& entryValue,const QString& mapName,const QString& groupName);
69 void addAttributeInGroup(const QString& attKey,const QString& attValue,const QString& groupName);
70
71 void addModule(const ModuleConfigurationStructure& mod);
72
73 friend LIMA_XMLCONFIGURATIONFILES_EXPORT std::ostream& operator<<(std::ostream &os, const ModuleConfigurationStructure& dmcs);
74
75private :
77};
78
79LIMA_XMLCONFIGURATIONFILES_EXPORT std::ostream& operator<<(std::ostream &os, const ModuleConfigurationStructure& dmcs);
80
81} // closing namespace XMLConfigurationFiles
82} // closing namespace Common
83} // closing namespace Lima
84
85#endif
QDebug & operator<<(QDebug &qd, const std::string &str)
Definition QsLog.cpp:39
#define LIMA_XMLCONFIGURATIONFILES_EXPORT
Definition LimaCommon.h:137
originally detectGroupConfigurationStructure.h in detectlibraries
std::ostream & operator<<(std::ostream &os, const ConfigurationStructure &conf)
NAUTITIA.