DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
status_enum.hpp
Go to the documentation of this file.
1
9#ifndef SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
10#define SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
11
12#include <map>
13#include <optional>
14#include <string>
15
16namespace dunedaq::snbmodules {
18{
22 {
25 PREPARING, // when the file is not yet available to execute transfer and need more time (ex: torrent file is being
26 // generated)
28
33
36
37 // TODO Aug-14-2022 Leo Joly leo.vincent.andre.joly@cern.ch : should we add more status and specify value ?
38
43 };
44
45 static std::string status_to_string(e_status e)
46 {
47 const std::map<e_status, std::string> MyEnumStrings{ { PREPARING, "PREPARING" },
48 { ERROR, "ERROR" },
49 { SUCCESS_UPLOAD, "SUCCESS_UPLOAD" },
50 { SUCCESS_DOWNLOAD, "SUCCESS_DOWNLOAD" },
51 { FINISHED, "FINISHED" },
52 { CANCELLED, "CANCELLED" },
53 { PAUSED, "PAUSED" },
54 { WAITING, "WAITING" },
55 { CHECKING, "CHECKING" },
56 { HASHING, "HASHING" },
57 { UPLOADING, "UPLOADING" },
58 { DOWNLOADING, "DOWNLOADING" } };
59 auto it = MyEnumStrings.find(e);
60 return it == MyEnumStrings.end() ? "Not supported" : it->second;
61 }
62
63 static std::optional<e_status> string_to_status(std::string s)
64 {
65 const std::map<std::string, e_status> MyStringsEnum{ { "PREPARING", PREPARING },
66 { "ERROR", ERROR },
67 { "SUCCESS_UPLOAD", SUCCESS_UPLOAD },
68 { "SUCCESS_DOWNLOAD", SUCCESS_DOWNLOAD },
69 { "FINISHED", FINISHED },
70 { "CANCELLED", CANCELLED },
71 { "PAUSED", PAUSED },
72 { "WAITING", WAITING },
73 { "CHECKING", CHECKING },
74 { "HASHING", HASHING },
75 { "UPLOADING", UPLOADING },
76 { "DOWNLOADING", DOWNLOADING } };
77 auto it = MyStringsEnum.find(s);
78 if (it == MyStringsEnum.end()) {
79 return std::nullopt;
80 }
81 return it->second;
82 }
83};
84
85} // namespace dunedaq::snbmodules
86#endif // SNBMODULES_INCLUDE_SNBMODULES_COMMON_STATUS_ENUM_HPP_
static std::string status_to_string(e_status e)
e_status
Different type of session status Need to be sorted by priority (highest last)
@ PREPARING
waiting for the transfer to start, can be waiting to receive expected files metadata
static std::optional< e_status > string_to_status(std::string s)