1 #ifndef _ots_WizardSupervisor_h
2 #define _ots_WizardSupervisor_h
4 #include "otsdaq-core/SOAPUtilities/SOAPMessenger.h"
6 #include <xdaq/Application.h>
7 #include "otsdaq-core/Macros/XDAQApplicationMacros.h"
8 #include <xgi/Method.h>
10 #include <xoap/SOAPEnvelope.h>
11 #include <xoap/SOAPBody.h>
12 #include <xoap/domutils.h>
13 #include <xoap/Method.h>
15 #include <cgicc/HTMLClasses.h>
16 #include <cgicc/HTTPCookie.h>
17 #include <cgicc/HTMLDoctype.h>
18 #include <cgicc/HTTPHeader.h>
23 #include "otsdaq-core/SupervisorInfo/AllSupervisorInfo.h"
28 class HttpXmlDocument;
45 WizardSupervisor (xdaq::ApplicationStub *)
throw (xdaq::exception::Exception);
52 void generateURL (
void);
55 void Default (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
56 void verification (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
57 void requestIcons (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
59 void editSecurity (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
60 void UserSettings (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
61 void tooltipRequest (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
62 void toggleSecurityCodeGeneration (xgi::Input* in, xgi::Output* out)
throw (xgi::exception::Exception);
63 std::string validateUploadFileType (
const std::string fileType);
64 void cleanUpPreviews ();
65 void savePostPreview (std::string &subject, std::string &text,
const std::vector<cgicc::FormFile> &files, std::string creator,
HttpXmlDocument *xmldoc =
nullptr);
66 std::string exec (
const char* cmd);
69 xoap::MessageReference supervisorSequenceCheck (xoap::MessageReference msg)
throw (xoap::exception::Exception);
70 xoap::MessageReference supervisorLastConfigGroupRequest (xoap::MessageReference msg)
throw (xoap::exception::Exception);
73 std::string securityCode_;
74 bool defaultSequence_;
75 std::vector<std::string> allowedFileUploadTypes_, matchingFileUploadTypes_;
78 std::string supervisorClass_;
79 std::string supervisorClassNoNamespace_;
82 ADMIN_PERMISSIONS_THRESHOLD = 255,
83 EXPERIMENT_NAME_MIN_LENTH = 3,
84 EXPERIMENT_NAME_MAX_LENTH = 25,
85 USER_DATA_EXPIRATION_TIME = 60*20,