All Classes Files Functions Variables Typedefs Pages
ContextBase.hpp
Go to the documentation of this file.
1 #pragma once
2 
19 #include "../service/ServiceProvider.hpp"
20 
21 namespace lumina {
22 
23 class ContextBase {
24 public:
25  ContextBase();
26 
27  void setServiceContext(config::ServiceContext cnt);
28 
29 protected:
30 
31  template <typename... Ts> void logCritical(Ts... args);
32  template <typename... Ts> void logError(Ts... args);
33  template <typename... Ts> void logWarning(Ts... args);
34  template <typename... Ts> void logNotice(Ts... args);
35  template <typename... Ts> void log(Ts... args);
36  template <typename... Ts> void logDebug(Ts... args);
37 
38  template <typename Ex, LogLevel LL = LogLevel::Error, typename... Ts>
39  void logAndThrow(Ts... args);
40 
41 private:
42  config::ServiceContext m_context;
43 };
44 
45 }
46 
47 #include "ContextBase.tpp"
Definition: ContextBase.hpp:23