1 #ifndef _ots_MacroMakerSupervisor_h_
2 #define _ots_MacroMakerSupervisor_h_
4 #include "otsdaq-core/CoreSupervisors/CoreSupervisorBase.h"
23 virtual void request(
const std::string& requestType,
25 HttpXmlDocument& xmlOut,
26 const WebUsers::RequestUserInfo& userInfo)
override;
28 virtual void forceSupervisorPropertyValues(
void)
override;
34 void handleRequest(
const std::string Command,
35 HttpXmlDocument& xmldoc,
37 const std::string& username);
39 xoap::MessageReference frontEndCommunicationRequest(xoap::MessageReference message);
41 void getFElist(HttpXmlDocument& xmldoc);
42 void getFEMacroList(HttpXmlDocument& xmldoc,
const std::string& username);
44 void writeData(HttpXmlDocument& xmldoc,
46 const std::string& username);
47 void readData(HttpXmlDocument& xmldoc,
49 const std::string& username);
50 void createMacro(HttpXmlDocument& xmldoc,
52 const std::string& username);
53 void loadMacro(
const std::string& macroName,
54 std::string& macroString,
55 const std::string& username =
"");
56 void loadMacros(HttpXmlDocument& xmldoc,
const std::string& username);
58 const std::string& username,
59 std::pair<std::vector<std::string> ,
60 std::vector<std::string> >& returnMacroNames);
61 void appendCommandToHistory(std::string command,
64 std::string interfaces,
65 const std::string& username);
66 void loadHistory(HttpXmlDocument& xmldoc,
const std::string& username);
67 void deleteMacro(HttpXmlDocument& xmldoc,
69 const std::string& username);
70 void editMacro(HttpXmlDocument& xmldoc,
72 const std::string& username);
73 void clearHistory(
const std::string& username);
74 void exportMacro(HttpXmlDocument& xmldoc,
76 const std::string& username);
77 void exportFEMacro(HttpXmlDocument& xmldoc,
79 const std::string& username);
80 void runFEMacro(HttpXmlDocument& xmldoc, cgicc::Cgicc& cgi,
const std::string& username);
82 std::string generateHexArray(
const std::string& sourceHexString,
int& numOfBytes);
83 bool isArgumentVariable(
const std::string& argumentString);
84 void createCode(std::ostream& out,
85 const std::vector<std::string>& commands,
86 const std::string& tabOffset =
"",
87 bool forFeMacro =
false,
88 std::set<std::string>* inArgNames = 0,
89 std::set<std::string>* outArgNames = 0);
91 SupervisorInfoMap allFESupervisorInfo_;
92 std::map<std::string ,
unsigned int >
94 std::map<std::string , std::set<std::string> >
95 FEPluginTypetoFEsMap_;
96 std::map<std::string , std::string >