rad
6.2.0
Loading...
Searching...
No Matches
rad
cpp
mal
src
include
rad
mal
utils.hpp
Go to the documentation of this file.
1
9
#ifndef RAD_MAL_UTILS_HPP
10
#define RAD_MAL_UTILS_HPP
11
12
#include <mal/Cii.hpp>
13
#include <mal/Mal.hpp>
14
#include <mal/utility/LoadMal.hpp>
15
16
#include <atomic>
17
#include <memory>
18
19
namespace
rad
{
20
namespace
cii {
21
33
inline
void
LoadMiddlewares
(
const
std::vector<std::string>& mal_types) {
34
elt::mal::CiiFactory& factory = elt::mal::CiiFactory::getInstance();
35
elt::mal::Mal::Properties mal_properties;
36
for
(
auto
t : mal_types) {
37
auto
mal_instance = elt::mal::loadMal(t, mal_properties);
38
factory.registerMal(t, mal_instance);
39
}
40
}
41
53
void
LoadMiddlewares
(
const
std::vector<
54
std::pair<std::string, elt::mal::Mal::Properties>>& mal_specs);
55
56
66
class
CancellationToken
{
67
public
:
72
CancellationToken
() : m_is_cancelled(
std
::make_shared<
std
::atomic<bool>>(false)) {}
73
74
CancellationToken
(
const
CancellationToken
&) =
default
;
75
CancellationToken
&
operator=
(
const
CancellationToken
&) =
default
;
76
81
void
Cancel
() { *m_is_cancelled =
true
; }
82
89
bool
IsCancelled
()
const
{
return
*m_is_cancelled; }
90
91
private
:
92
std::shared_ptr<std::atomic<bool>>
93
m_is_cancelled;
// Flag indicating whether a service has been cancelled.
94
};
95
96
}
// namespace cii
97
}
// namespace rad
98
99
#endif
// RAD_MAL_UTILS_HPP
rad::cii::CancellationToken
Definition
utils.hpp:66
rad::cii::CancellationToken::operator=
CancellationToken & operator=(const CancellationToken &)=default
rad::cii::CancellationToken::IsCancelled
bool IsCancelled() const
Definition
utils.hpp:89
rad::cii::CancellationToken::CancellationToken
CancellationToken()
Definition
utils.hpp:72
rad::cii::CancellationToken::CancellationToken
CancellationToken(const CancellationToken &)=default
rad::cii::CancellationToken::Cancel
void Cancel()
Definition
utils.hpp:81
rad::cii::LoadMiddlewares
void LoadMiddlewares(const std::vector< std::string > &mal_types)
Definition
utils.hpp:33
rad
Definition
actionsApp.cpp:23
std
Definition
errors.hpp:58
Generated by
1.10.0