common
include
modeExecutor.h
Go to the documentation of this file.
1
/*
2
* Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
18
#ifndef MODEEXECUTOR_H
19
#define MODEEXECUTOR_H
20
21
#include <
mode.h
>
22
#include <
iColorO.h
>
23
#include <
modeFactory.h
>
24
#include <boost/thread.hpp>
25
#include <boost/lambda/bind.hpp>
26
#include <map>
27
28
class
ModeExecutor
29
{
30
public
:
31
ModeExecutor
(
IColorO
* colorO);
32
~ModeExecutor
();
33
34
uint64_t
execute
(
boost::shared_ptr<Mode>
mode);
35
uint64_t
execute
(cob_light::LightMode requestMode);
36
37
int
getExecutingPriority
();
38
int
getExecutingMode
();
39
uint64_t
getExecutingUId
();
40
41
void
pause
();
42
void
resume
();
43
void
stop
();
44
bool
stop
(uint64_t uId);
45
46
void
setDefaultPriority
(
int
priority);
47
48
private
:
49
IColorO
*
_colorO
;
50
51
boost::shared_ptr<Mode>
_activeMode
;
52
std::map<int, boost::shared_ptr<Mode>, std::greater<int> >
_mapActiveModes
;
53
color::rgba
_activeColor
;
54
55
bool
_stopRequested
;
56
int
default_priority
;
57
58
void
onModeFinishedReceived
(
int
prio);
59
void
onColorSetReceived
(
color::rgba
color
);
60
};
61
62
#endif
modeFactory.h
ModeExecutor::pause
void pause()
Definition:
modeExecutor.cpp:88
color
Definition:
colorUtils.h:24
boost::shared_ptr< Mode >
ModeExecutor::stop
void stop()
Definition:
modeExecutor.cpp:102
ModeExecutor::default_priority
int default_priority
Definition:
modeExecutor.h:56
mode.h
iColorO.h
color::rgba
Definition:
colorUtils.h:26
ModeExecutor::resume
void resume()
Definition:
modeExecutor.cpp:96
ModeExecutor::~ModeExecutor
~ModeExecutor()
Definition:
modeExecutor.cpp:28
ModeExecutor::ModeExecutor
ModeExecutor(IColorO *colorO)
Definition:
modeExecutor.cpp:21
ModeExecutor::_stopRequested
bool _stopRequested
Definition:
modeExecutor.h:55
ModeExecutor::setDefaultPriority
void setDefaultPriority(int priority)
Definition:
modeExecutor.cpp:198
ModeExecutor::_activeMode
boost::shared_ptr< Mode > _activeMode
Definition:
modeExecutor.h:51
IColorO
Definition:
iColorO.h:24
ModeExecutor::_colorO
IColorO * _colorO
Definition:
modeExecutor.h:49
ModeExecutor::getExecutingUId
uint64_t getExecutingUId()
Definition:
modeExecutor.cpp:190
ModeExecutor::_activeColor
color::rgba _activeColor
Definition:
modeExecutor.h:53
ModeExecutor::execute
uint64_t execute(boost::shared_ptr< Mode > mode)
Definition:
modeExecutor.cpp:42
ModeExecutor::onColorSetReceived
void onColorSetReceived(color::rgba color)
Definition:
modeExecutor.cpp:169
ModeExecutor::getExecutingMode
int getExecutingMode()
Definition:
modeExecutor.cpp:174
ModeExecutor::_mapActiveModes
std::map< int, boost::shared_ptr< Mode >, std::greater< int > > _mapActiveModes
Definition:
modeExecutor.h:52
ModeExecutor::getExecutingPriority
int getExecutingPriority()
Definition:
modeExecutor.cpp:182
ModeExecutor::onModeFinishedReceived
void onModeFinishedReceived(int prio)
Definition:
modeExecutor.cpp:147
ModeExecutor
Definition:
modeExecutor.h:28
cob_light
Author(s): Benjamin Maidel
autogenerated on Wed Nov 8 2023 03:47:37