File indexing completed on 2025-08-03 08:20:55
0001 #ifndef ONLMONHTML_H
0002 #define ONLMONHTML_H
0003
0004 #include <filesystem>
0005 #include <set>
0006 #include <string>
0007
0008 class RunDBodbc;
0009
0010
0011
0012
0013 class OnlMonHtml
0014 {
0015 public:
0016 explicit OnlMonHtml(const std::string& topdir);
0017
0018 explicit OnlMonHtml(const OnlMonHtml&) = delete;
0019 OnlMonHtml& operator=(const OnlMonHtml&) = delete;
0020
0021 virtual ~OnlMonHtml();
0022
0023
0024
0025
0026
0027
0028 void addMenu(const std::string& header, const std::string& path,
0029 const std::string& relfilename);
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 void namer(const std::string& header, const std::string& basefilename,
0040 const std::string& ext,
0041 std::string& fullfilename,
0042 std::string& filename);
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053 std::string registerPage(const std::string& header,
0054 const std::string& path,
0055 const std::string& basefilename,
0056 const std::string& ext);
0057
0058 void runNumber(const int runnumber);
0059 int runNumber() const { return fRunNumber; }
0060
0061 void verbosity(const int v) { fVerbosity = v; }
0062 int verbosity() const { return fVerbosity; }
0063
0064 protected:
0065 void plainHtmlMenu(const std::set<std::string>&);
0066 void runInit();
0067 std::string runRange();
0068 void set_group_sticky_bit(const std::filesystem::path& dir);
0069
0070 RunDBodbc* rundb = nullptr;
0071
0072 int fVerbosity = 0;
0073 int fRunNumber = 0;
0074
0075 std::string fHtmlDir;
0076 std::string fHtmlRunDir;
0077 };
0078
0079 #endif