Orocos Real-Time Toolkit
2.9.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
base
RunnableInterface.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Mon Jan 19 14:11:19 CET 2004 RunnableInterface.hpp
3
4
RunnableInterface.hpp - description
5
-------------------
6
begin : Mon January 19 2004
7
copyright : (C) 2004 Peter Soetens
8
email : peter.soetens@mech.kuleuven.ac.be
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
#ifndef CORELIB_RUNNABLE_INTERFACE_HPP
39
#define CORELIB_RUNNABLE_INTERFACE_HPP
40
41
#include "
ActivityInterface.hpp
"
42
43
namespace
RTT
44
{
namespace
base
{
69
class
RTT_API
RunnableInterface
70
{
74
ActivityInterface
* owner_act;
75
public
:
76
enum
WorkReason
{ TimeOut = 0, Trigger, IOReady };
85
RunnableInterface
();
86
90
virtual
~
RunnableInterface
();
91
97
virtual
bool
initialize() = 0;
98
103
virtual
void
step() = 0;
104
110
virtual
void
work(
WorkReason
reason);
111
117
virtual
void
loop();
118
128
virtual
bool
breakLoop();
129
135
virtual
void
finalize() = 0;
136
141
virtual
os::ThreadInterface
* getThread()
const
;
142
152
virtual
bool
hasWork();
153
162
inline
ActivityInterface
* getActivity()
const
;
163
171
virtual
void
setActivity(
ActivityInterface
* task );
172
};
173
174
175
ActivityInterface
*
RunnableInterface::getActivity
()
const
{
return
owner_act; }
176
}}
177
178
#endif
RTT::base::RunnableInterface::getActivity
ActivityInterface * getActivity() const
Query for the task this interface is run in.
Definition:
RunnableInterface.hpp:175
RTT::base::RunnableInterface
A class for running a certain piece of code in a thread.
Definition:
RunnableInterface.hpp:69
RTT_API
#define RTT_API
Definition:
rtt-config.h:97
RTT::base::RunnableInterface::WorkReason
WorkReason
Definition:
RunnableInterface.hpp:76
RTT::os::ThreadInterface
A thread which is being run.
Definition:
ThreadInterface.hpp:56
RTT::base::ActivityInterface
Interface to start/stop and query a Activity.
Definition:
ActivityInterface.hpp:62
base
ActivityInterface.hpp
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:52
Generated on Fri Apr 5 2019 11:59:34 for Orocos Real-Time Toolkit by
1.8.11