acme
Foundational cross-platform layer of the ca2 framework
Toggle main menu visibility
Loading...
Searching...
No Matches
wait_for_end_of_sequence.h
1
// Created by camilo on 2024-11-19 01:10 <3ThomasBorregaardSorensen!!
2
#pragma once
3
4
5
#include "single_lock.h"
6
7
8
class
CLASS_DECL_ACME wait_for_end_of_sequence :
9
public
single_lock
10
{
11
public
:
12
13
14
::sequence * m_psequence;
15
::waiting_call_base
* m_pwaitingcallbase;
16
17
18
explicit
wait_for_end_of_sequence(
manual_reset_happening
* phappeningEndOfSequence, ::sequence * psequence,
::waiting_call_base
* pwaitingcallbase);
19
20
void
on_before_set(
const
class ::time & wait = ::time::infinity());
21
::e_status
on_set_or_timeout(
::e_status
estatus);
22
void
_wait() { on_before_set(); single_lock::_wait(); on_set_or_timeout(::success); }
23
bool
_wait(
const
class ::time & wait) { on_before_set(wait);
return
on_set_or_timeout(::single_lock::_wait(wait) ? ::success : ::error_wait_timeout); }
24
::e_status
wait() { on_before_set();
return
on_set_or_timeout(single_lock::wait()); }
25
::e_status
wait(
const
class ::time & wait = ::time::infinity()) { on_before_set(wait);
return
on_set_or_timeout(single_lock::wait(wait)); }
26
void
_lock() { on_before_set(); single_lock::_lock(); on_set_or_timeout(::success); }
27
bool
lock(
const
class ::time & wait = ::time::infinity()) { on_before_set(wait);
return
on_set_or_timeout(::single_lock::lock(wait) ? ::success : ::error_wait_timeout); }
28
29
30
};
31
32
33
34
e_status
Definition
e_status.h:30
manual_reset_happening
Definition
aaa_manual_reset_event.h:26
waiting_call_base
Definition
waiting_call.h:10
parallelization
wait_for_end_of_sequence.h
Generated by
1.17.0