StateControllerImpl.h
Go to the documentation of this file.
1#pragma once
2
3#include <condition_variable>
4#include <mutex>
5#include <queue>
6
7#include "StateController.h"
8
9namespace armarx
10{
11
13 {
15
16 /*! \brief Buffer for all events that are
17 delayed due to unbreakable substates.
18
19 This buffer only holds events that are processed by this state.
20 */
21 std::queue<EventPtr> __unbreakableBuffer;
23 std::vector<std::pair<StateControllerPtr, EventPtr>> __eventBuffer;
25
26 bool __finished = false;
27 mutable std::mutex __finishedMutex;
28 mutable std::condition_variable __finishedCondition;
29
30 /**
31 * @brief localProfiler local instance of armarx::Profiler::Profiler which does nothing by default
32 *
33 * This instance can be changed via armarx::StateController::setProfilerRecursive() (\see armarx::RemoteStateOfferer)
34 */
36 bool profilersDisabled = false;
37 };
38
39} // namespace armarx
std::map< std::string, transitionFunction > TransitionFunctionMap
std::set< ProfilerPtr > ProfilerSet
Definition Profiler.h:41
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::vector< std::pair< StateControllerPtr, EventPtr > > __eventBuffer
Profiler::ProfilerSet localProfilers
localProfiler local instance of armarx::Profiler::Profiler which does nothing by default
IceUtil::Handle< RunningTask< StateController > > __runningTask
std::queue< EventPtr > __unbreakableBuffer
Buffer for all events that are delayed due to unbreakable substates.
TransitionFunctionMap transitionFunctions
std::condition_variable __finishedCondition