Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
base
ActivityInterface.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Thu Oct 22 11:59:07 CEST 2009 ActivityInterface.cpp
3
4
ActivityInterface.cpp - description
5
-------------------
6
begin : Thu October 22 2009
7
copyright : (C) 2009 Peter Soetens
8
email : peter@thesourcworks.com
9
10
***************************************************************************
11
* This library is free software; you can redistribute it and/or *
12
* modify it under the terms of the GNU General Public *
13
* License as published by the Free Software Foundation; *
14
* version 2 of the License. *
15
* *
16
* As a special exception, you may use this file as part of a free *
17
* software library without restriction. Specifically, if other files *
18
* instantiate templates or use macros or inline functions from this *
19
* file, or you compile this file and link it with other files to *
20
* produce an executable, this file does not by itself cause the *
21
* resulting executable to be covered by the GNU General Public *
22
* License. This exception does not however invalidate any other *
23
* reasons why the executable file might be covered by the GNU General *
24
* Public License. *
25
* *
26
* This library is distributed in the hope that it will be useful, *
27
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
28
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
29
* Lesser General Public License for more details. *
30
* *
31
* You should have received a copy of the GNU General Public *
32
* License along with this library; if not, write to the Free Software *
33
* Foundation, Inc., 59 Temple Place, *
34
* Suite 330, Boston, MA 02111-1307 USA *
35
* *
36
***************************************************************************/
37
38
39
#include "
ActivityInterface.hpp
"
40
#include "
RunnableInterface.hpp
"
41
42
using namespace
RTT
;
43
using namespace
RTT::base
;
44
45
ActivityInterface::ActivityInterface
(
RunnableInterface
* run) : runner(run) {
46
if
(
runner
)
47
runner
->
setActivity
(
this
);
48
}
49
50
ActivityInterface::~ActivityInterface
()
51
{
52
if
(
runner
) {
53
runner
->
setActivity
(0);
54
}
55
}
56
57
bool
ActivityInterface::run
(
RunnableInterface
* _r)
58
{
59
if
( this->
isActive
() )
60
return
false
;
61
if
(
runner
) {
62
runner
->
setActivity
(0);
63
}
64
runner
= _r;
65
if
(
runner
)
66
runner
->
setActivity
(
this
);
// pass on our ptr.
67
return
true
;
68
}
69
70
RunnableInterface
*
ActivityInterface::getRunner
()
const
71
{
72
return
runner
;
73
}
RTT::base::ActivityInterface::ActivityInterface
ActivityInterface()
Definition:
ActivityInterface.hpp:79
RTT::base::RunnableInterface
A class for running a certain piece of code in a thread.
Definition:
RunnableInterface.hpp:69
RTT::base::ActivityInterface::isActive
virtual bool isActive() const =0
RTT::base::ActivityInterface::~ActivityInterface
virtual ~ActivityInterface()
Definition:
ActivityInterface.cpp:50
RTT::base::ActivityInterface::run
virtual bool run(RunnableInterface *r)
Definition:
ActivityInterface.cpp:57
RTT::base::ActivityInterface::runner
RunnableInterface * runner
Definition:
ActivityInterface.hpp:65
RunnableInterface.hpp
RTT::base::RunnableInterface::setActivity
virtual void setActivity(ActivityInterface *task)
Set the task this interface is run in.
Definition:
CoreRunnableInterface.cpp:73
ActivityInterface.hpp
RTT::base
Definition:
ActionInterface.hpp:50
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
RTT::base::ActivityInterface::getRunner
virtual RunnableInterface * getRunner() const
Definition:
ActivityInterface.cpp:70
rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:19