acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
waiting_call.h
1// Created by camilo on 2024-12-17 20:46 <3ThomasBorregaardSorensen!!
2#pragma once
3
4
5#include "manual_reset_happening.h"
6
7
8class CLASS_DECL_ACME waiting_call_base :
9 virtual public ::particle
10{
11public:
12
13 bool m_bStarted = false;
14 ::task * m_ptask = nullptr;
15 class ::time m_timeStart;
16
17
18 waiting_call_base();
19 ~waiting_call_base() override;
20
21 //void set_happening();
22
23 void on_start_call();
24 void on_end_or_timeout_call(::e_status estatus);
25
26
27};
28
29
30template < typename CALLING >
31class waiting_call :
32 virtual public ::waiting_call_base
33{
34public:
35
36
37 CALLING m_calling;
38
39
40 waiting_call(const CALLING & calling) :
41 m_calling(calling)
42 {
43
44 }
45
46 ~waiting_call() override
47 {
48
49 }
50
51};
52
53
54
55template < typename CALLING >
56inline auto as_waiting_call(const CALLING & calling)
57{
58
59 auto pwaitingcall = allocateø::waiting_call<CALLING>(calling);
60
61 return ::transfer(pwaitingcall);
62
63}
Definition e_status.h:30
Definition task.h:117