Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
extras
SlaveActivity.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Mon Jun 26 13:25:56 CEST 2006 SlaveActivity.hpp
3
4
SlaveActivity.hpp - description
5
-------------------
6
begin : Mon June 26 2006
7
copyright : (C) 2006 Peter Soetens
8
email : peter.soetens@fmtc.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
39
#ifndef ORO_SLAVE_ACTIVITY_HPP
40
#define ORO_SLAVE_ACTIVITY_HPP
41
42
#include "../base/ActivityInterface.hpp"
43
#include "../base/RunnableInterface.hpp"
44
45
#ifdef ORO_PRAGMA_INTERFACE
46
#pragma interface
47
#endif
48
49
namespace
RTT
50
{
namespace
extras {
51
52
90
class
RTT_API
SlaveActivity
91
:
public
base::ActivityInterface
92
{
93
public
:
99
SlaveActivity
(
base::ActivityInterface
* master,
base::RunnableInterface
* run = 0 );
100
107
SlaveActivity
(
double
period,
base::RunnableInterface
* run = 0 );
108
114
SlaveActivity
(
base::RunnableInterface
* run = 0 );
115
119
~
SlaveActivity
();
120
121
Seconds
getPeriod()
const
;
122
123
bool
setPeriod(
Seconds
s);
124
125
unsigned
getCpuAffinity
()
const
;
126
127
bool
setCpuAffinity
(
unsigned
cpu);
128
129
os::ThreadInterface
* thread();
130
131
virtual
bool
initialize();
132
virtual
void
step();
133
virtual
void
work(
base::RunnableInterface::WorkReason
reason);
134
virtual
void
loop();
135
virtual
bool
breakLoop();
136
virtual
void
finalize();
137
143
bool
start();
144
145
bool
stop();
146
147
bool
isRunning()
const
;
148
149
bool
isPeriodic()
const
;
150
151
bool
isActive()
const
;
152
153
bool
execute();
154
155
bool
trigger
();
156
157
bool
timeout();
158
159
private
:
160
base::ActivityInterface
*
mmaster
;
161
double
mperiod
;
162
bool
running
;
163
bool
active
;
164
165
base::DisposableInterface
*
mtrigger
;
166
};
167
168
}}
169
170
171
#endif
RTT::Seconds
double Seconds
Definition:
os/Time.hpp:53
RTT::extras::SlaveActivity::mmaster
base::ActivityInterface * mmaster
Definition:
SlaveActivity.hpp:160
RTT::base::RunnableInterface
A class for running a certain piece of code in a thread.
Definition:
RunnableInterface.hpp:69
RTT::base::RunnableInterface::WorkReason
WorkReason
Definition:
RunnableInterface.hpp:76
RTT::extras::SlaveActivity::active
bool active
Definition:
SlaveActivity.hpp:163
RTT::os::ThreadInterface
Definition:
ThreadInterface.hpp:56
RTT::extras::SlaveActivity::running
bool running
Definition:
SlaveActivity.hpp:162
adaptor::setCpuAffinity
static RTT_UNUSED bool setCpuAffinity(ThreadInterface *thread, const std::bitset< 16 > &cpu_affinity)
Definition:
dataflow_performance_test.cpp:346
RTT::base::ActivityInterface
Interface to start/stop and query a Activity.
Definition:
ActivityInterface.hpp:62
RTT::extras::SlaveActivity::mtrigger
base::DisposableInterface * mtrigger
Definition:
SlaveActivity.hpp:165
RTT::extras::SlaveActivity::mperiod
double mperiod
Definition:
SlaveActivity.hpp:161
RTT::base::DisposableInterface
An object that is executable and is freed after execution.
Definition:
DisposableInterface.hpp:53
adaptor::getCpuAffinity
static std::bitset< 16 > getCpuAffinity(ThreadInterface *thread)
Definition:
dataflow_performance_test.cpp:352
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
RTT::extras::SlaveActivity
An base::ActivityInterface implementation which executes 'step' upon the invocation of 'execute()'...
Definition:
SlaveActivity.hpp:90
adaptor::trigger
static bool trigger(TaskContext *tc)
Definition:
dataflow_performance_test.cpp:334
rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:44