Main Page
Namespaces
Classes
Files
File List
File Members
include
packml_sm
boost
state_machine_event_loop.h
Go to the documentation of this file.
1
/*
2
* Software License Agreement (Apache License)
3
*
4
* Copyright (c) 2018 Plus One Robotics
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*/
18
#pragma once
19
#include "
packml_sm/event.h
"
20
21
#include <memory>
22
#include <thread>
23
#include <atomic>
24
25
namespace
packml_sm
26
{
27
class
StateMachineEventLoop
28
{
29
public
:
30
EventHandler<StateMachineEventLoop, EventArgs>
updateTickEvent
;
31
32
StateMachineEventLoop
(
int
interval = 50);
33
~StateMachineEventLoop
();
34
35
void
start
();
36
void
stop
();
37
38
private
:
39
std::unique_ptr<std::thread>
thread_
;
40
std::atomic<bool>
stop_thread_
;
41
int
interval_
;
42
43
void
updateLoop
();
44
};
45
}
packml_sm::StateMachineEventLoop::stop
void stop()
Definition:
state_machine_event_loop.cpp:46
EventHandler
Definition:
event.h:31
packml_sm::StateMachineEventLoop::stop_thread_
std::atomic< bool > stop_thread_
Definition:
state_machine_event_loop.h:40
packml_sm::StateMachineEventLoop
Definition:
state_machine_event_loop.h:27
packml_sm::StateMachineEventLoop::updateTickEvent
EventHandler< StateMachineEventLoop, EventArgs > updateTickEvent
Definition:
state_machine_event_loop.h:30
packml_sm::StateMachineEventLoop::start
void start()
Definition:
state_machine_event_loop.cpp:38
packml_sm::StateMachineEventLoop::thread_
std::unique_ptr< std::thread > thread_
Definition:
state_machine_event_loop.h:39
packml_sm::StateMachineEventLoop::updateLoop
void updateLoop()
Definition:
state_machine_event_loop.cpp:56
packml_sm
Definition:
abstract_state_machine.h:29
event.h
packml_sm::StateMachineEventLoop::interval_
int interval_
Definition:
state_machine_event_loop.h:41
packml_sm::StateMachineEventLoop::~StateMachineEventLoop
~StateMachineEventLoop()
Definition:
state_machine_event_loop.cpp:29
packml_sm::StateMachineEventLoop::StateMachineEventLoop
StateMachineEventLoop(int interval=50)
Definition:
state_machine_event_loop.cpp:25
packml_sm
Author(s): Shaun Edwards
autogenerated on Fri Jul 12 2019 03:30:55