hlcc 2.0.0-beta2+pre1
Loading...
Searching...
No Matches
utils.hpp
Go to the documentation of this file.
1
9#ifndef RAD_MAL_UTILS_HPP
10#define RAD_MAL_UTILS_HPP
11
12#ifndef __CDT_PARSER__
13
14#include <mal/Cii.hpp>
15#include <mal/Mal.hpp>
16#include <mal/utility/LoadMal.hpp>
17
18
19#include <atomic>
20#include <memory>
21
22#endif // __CDT_PARSER__
23
24namespace rad {
25namespace cii {
26
38#ifdef __CDT_PARSER__
39 void LoadMiddlewares(const std::vector<std::string>& mal_types);
40#else
41inline void LoadMiddlewares(const std::vector<std::string>& mal_types) {
42 elt::mal::CiiFactory& factory = elt::mal::CiiFactory::getInstance();
43 elt::mal::Mal::Properties mal_properties;
44 for (auto t : mal_types) {
45 auto mal_instance = elt::mal::loadMal(t, mal_properties);
46 factory.registerMal(t, mal_instance);
47 }
48}
49#endif // __CDT_PARSER__
50
51#ifndef __CDT_PARSER__
62 public:
67 CancellationToken() : m_is_cancelled(std::make_shared<std::atomic<bool>>(false)) {}
68
71
76 void Cancel() { *m_is_cancelled = true; }
77
84 bool IsCancelled() const { return *m_is_cancelled; }
85
86 private:
87 std::shared_ptr<std::atomic<bool>>
88 m_is_cancelled; // Flag indicating whether a service has been cancelled.
89};
90#endif // __CDT_PARSER__
91
92} // namespace cii
93} // namespace rad
94
95#endif // RAD_MAL_UTILS_HPP
Definition: utils.hpp:61
CancellationToken & operator=(const CancellationToken &)=default
bool IsCancelled() const
Definition: utils.hpp:84
CancellationToken()
Definition: utils.hpp:67
CancellationToken(const CancellationToken &)=default
void Cancel()
Definition: utils.hpp:76
void LoadMiddlewares(const std::vector< std::string > &mal_types)
Definition: utils.hpp:41
Definition: replier.hpp:21