otsdaq  v2_05_02_indev
ConfigurationSupervisorBase.h
1 #ifndef _ots_ConfigurationSupervisorBase_h_
2 #define _ots_ConfigurationSupervisorBase_h_
3 
4 #include "otsdaq/ConfigurationInterface/ConfigurationManagerRW.h"
5 #include "otsdaq/XmlUtilities/HttpXmlDocument.h"
6 
7 #include "otsdaq/TablePlugins/DesktopIconTable.h"
8 
9 namespace ots
10 {
11 // clang-format off
12 
13 // ConfigurationSupervisorBase
14 // This class provides supervisor level features for manipulating the configuration
16 {
17 public:
18 
19  static void getConfigurationStatusXML(HttpXmlDocument& xmlOut, ConfigurationManagerRW* cfgMgr);
20 
21  static TableVersion saveModifiedVersionXML(HttpXmlDocument& xmlOut,
22  ConfigurationManagerRW* cfgMgr,
23  const std::string& tableName,
24  TableVersion originalVersion,
25  bool makeTemporary,
26  TableBase* config,
27  TableVersion temporaryModifiedVersion,
28  bool ignoreDuplicates = false,
29  bool lookForEquivalent = false);
30 
31  static void handleCreateTableXML(HttpXmlDocument& xmlOut,
32  ConfigurationManagerRW* cfgMgr,
33  const std::string& tableName,
34  TableVersion version,
35  bool makeTemporary,
36  const std::string& data,
37  const int& dataOffset,
38  const std::string& author,
39  const std::string& comment,
40  bool sourceTableAsIs,
41  bool lookForEquivalent);
42 
43  static void handleCreateTableGroupXML(HttpXmlDocument& xmlOut,
44  ConfigurationManagerRW* cfgMgr,
45  const std::string& groupName,
46  const std::string& configList,
47  bool allowDuplicates = false,
48  bool ignoreWarnings = false,
49  const std::string& groupComment = "",
50  bool lookForEquivalent = false);
51 
52  static void handleGetTableGroupXML(HttpXmlDocument& xmlOut,
53  ConfigurationManagerRW* cfgMgr,
54  const std::string& groupName,
55  TableGroupKey groupKey,
56  bool ignoreWarnings = false);
57 
58  static bool handleAddDesktopIconXML(
59  HttpXmlDocument& xmlOut,
60  ConfigurationManagerRW* cfgMgr,
61  const std::string& iconCaption,
62  const std::string& iconAltText,
63  const std::string& iconFolderPath,
64  const std::string& iconImageURL,
65  const std::string& iconWindowURL,
66  const std::string& iconPermissions,
67  std::string windowLinkedApp = "",
68  unsigned int windowLinkedAppLID = 0,
69  bool enforceOneWindowInstance = false,
70  const std::string& windowParameters = "");
71 
72 };
73 
74 // clang-format on
75 
76 } // namespace ots
77 
78 #endif