sdk
src
hal
waiter.h
Go to the documentation of this file.
1
/*
2
* For synchronize asynchrous operations
3
*
4
* Copyright 2010 Robopeak Team
5
*/
6
#pragma once
7
8
#ifdef _AVR_
9
#error there is no implementation for waiter.h on AVR platforms
10
#else
11
12
#include "
hal/event.h
"
13
14
namespace
rp
{
namespace
hal{
15
16
template
<
typename
ResultT>
17
class
Waiter
:
public
Event
18
{
19
public
:
20
Waiter
()
21
:
Event
()
22
{
23
}
24
25
~Waiter
()
26
{}
27
28
ResultT
waitForResult
()
29
{
30
wait
();
31
return
result
;
32
}
33
34
void
setResult
(ResultT
result
)
35
{
36
this->result =
result
;
37
set
();
38
}
39
40
volatile
ResultT
result
;
41
};
42
}}
43
44
#endif
rp::hal::Waiter::setResult
void setResult(ResultT result)
Definition:
waiter.h:34
rp::hal::Waiter
Definition:
waiter.h:17
rp::hal::Event
Definition:
event.h:38
rp::hal::Event::set
void set(bool isSignal=true)
Definition:
event.h:78
rp::hal::Waiter::Waiter
Waiter()
Definition:
waiter.h:20
event.h
rp::hal::Waiter::waitForResult
ResultT waitForResult()
Definition:
waiter.h:28
rp::hal::Waiter::~Waiter
~Waiter()
Definition:
waiter.h:25
rp
Definition:
rplidar_driver.h:43
rp::hal::Waiter::result
volatile ResultT result
Definition:
waiter.h:40
rp::hal::Event::wait
unsigned long wait(unsigned long timeout=0xFFFFFFFF)
Definition:
event.h:106
rplidar_ros
Author(s):
autogenerated on Fri Aug 2 2024 08:42:14