ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Helper.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_HELPER_HPP
10 #define RAD_HELPER_HPP
11 
12 #include <rad/GetPayload.hpp>
13 #include <rad/Logger.hpp>
14 
15 #include <string>
16 
17 
18 namespace rad {
19 
23 class Helper {
24 
25 public:
26  static constexpr const char* INTROOT = "INTROOT";
27 
28  static std::string GetHostname(const bool withDomain = false);
29 
30  static std::string FindFile(const std::string& fileName);
31  static bool FileExists(const std::string& fileName);
32  static std::string GetEnvVar(const std::string& key);
33  static std::string CreateIdentity();
34  static void SplitAddrPort(const std::string addrPort, std::string& addr, int& port);
35 
36  template<typename EVENT>
37  static const std::string GetRequestId(rad::AnyEvent const& event);
38 
39  Helper() = delete;
40  Helper(const Helper&) = delete;
41  Helper& operator= (const Helper&) = delete;
42 };
43 
53 template<typename EVENT>
54 const std::string Helper::GetRequestId(rad::AnyEvent const& event) {
55  RAD_LOG_TRACE();
56 
57  auto payload = rad::getPayload_nothrow<EVENT>(event);
58  if (payload == nullptr) {
59  RAD_LOG_ERROR() << "Last event's payload is NULL!";
60  return "";
61  }
62  return payload->GetOriginatorId();
63 }
64 
65 
66 } // namespace rad
67 
68 #endif
static constexpr const char * INTROOT
Definition: Helper.hpp:26
#define RAD_LOG_ERROR()
Definition: Logger.hpp:266
static std::string FindFile(const std::string &fileName)
Definition: Helper.cpp:49
static std::string GetEnvVar(const std::string &key)
Definition: Helper.cpp:108
static void SplitAddrPort(const std::string addrPort, std::string &addr, int &port)
Definition: Helper.cpp:147
static std::string GetHostname(const bool withDomain=false)
Definition: Helper.cpp:29
static std::string CreateIdentity()
Definition: Helper.cpp:126
static bool FileExists(const std::string &fileName)
Definition: Helper.cpp:85
Definition: Helper.hpp:23
Definition: AnyEvent.hpp:55
Helper()=delete
#define RAD_LOG_TRACE()
Definition: Logger.hpp:319
Helper & operator=(const Helper &)=delete
static const std::string GetRequestId(rad::AnyEvent const &event)
Definition: Helper.hpp:54