1 #ifndef _ots_WizardSupervisor_h
2 #define _ots_WizardSupervisor_h
4 #include "otsdaq/SOAPUtilities/SOAPMessenger.h"
6 #pragma GCC diagnostic push
7 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
8 #include <xdaq/Application.h>
9 #pragma GCC diagnostic pop
10 #include "otsdaq/Macros/XDAQApplicationMacros.h"
12 #include <xoap/Method.h>
13 #include <xoap/SOAPBody.h>
14 #include <xoap/SOAPEnvelope.h>
15 #include <xoap/domutils.h>
17 #pragma GCC diagnostic push
18 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
19 #include <xgi/Method.h>
20 #include <cgicc/HTMLClasses.h>
21 #include <cgicc/HTMLDoctype.h>
22 #include <cgicc/HTTPCookie.h>
23 #include <cgicc/HTTPHeader.h>
24 #pragma GCC diagnostic pop
29 #include "otsdaq/SupervisorInfo/AllSupervisorInfo.h"
34 class HttpXmlDocument;
56 void generateURL(
void);
59 void Default(xgi::Input* in, xgi::Output* out);
60 void verification(xgi::Input* in, xgi::Output* out);
61 void request(xgi::Input* in, xgi::Output* out);
62 void requestIcons(xgi::Input* in, xgi::Output* out);
64 void editSecurity(xgi::Input* in, xgi::Output* out);
65 void UserSettings(xgi::Input* in, xgi::Output* out);
66 void tooltipRequest(xgi::Input* in, xgi::Output* out);
67 void toggleSecurityCodeGeneration(xgi::Input* in, xgi::Output* out);
68 std::string validateUploadFileType(
const std::string fileType);
69 void cleanUpPreviews();
70 void savePostPreview(std::string& subject,
72 const std::vector<cgicc::FormFile>& files,
77 xoap::MessageReference supervisorSequenceCheck(xoap::MessageReference msg);
78 xoap::MessageReference supervisorLastTableGroupRequest(xoap::MessageReference msg);
81 std::string securityCode_;
82 bool defaultSequence_;
83 static const std::vector<std::string> allowedFileUploadTypes_, matchingFileUploadTypes_;
84 static const std::string WIZ_SUPERVISOR, WIZ_PORT, SERVICE_DATA_PATH;
86 std::string supervisorClass_;
87 std::string supervisorClassNoNamespace_;
92 ADMIN_PERMISSIONS_THRESHOLD = 255,
93 EXPERIMENT_NAME_MIN_LENTH = 3,
94 EXPERIMENT_NAME_MAX_LENTH = 25,
95 USER_DATA_EXPIRATION_TIME = 60 * 20,