Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
rtt
internal
PortConnectionLock.hpp
Go to the documentation of this file.
1
/***************************************************************************
2
tag: Peter Soetens Thu July 19 23:09:08 CEST 2018 PortConnectionLock.hpp
3
4
PortConnectionLock.hpp - description
5
-------------------
6
begin : Thu July 19 2018
7
copyright : (C) 2018 Johannes Meyer
8
email : johannes@intermodalics.eu
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 ORO_PORT_CONNECTION_LOCK_HPP
39
#define ORO_PORT_CONNECTION_LOCK_HPP
40
41
#include "../base/PortInterface.hpp"
42
43
namespace
RTT
44
{
namespace
internal
{
45
46
class
RTT_API
PortConnectionLock
47
{
48
base::PortInterface
*
mport
;
49
50
public
:
51
PortConnectionLock
(
base::PortInterface
*port)
52
: mport(port) {
53
if
(mport) mport->
connection_lock
.
lock
();
54
}
55
56
~PortConnectionLock
()
57
{
58
if
(mport) mport->
connection_lock
.
unlock
();
59
}
60
};
61
62
}}
63
64
#endif // ORO_PORT_CONNECTION_LOCK_HPP
RTT::internal::PortConnectionLock::~PortConnectionLock
~PortConnectionLock()
Definition:
PortConnectionLock.hpp:56
RTT::os::MutexRecursive::unlock
virtual void unlock()
Definition:
Mutex.hpp:250
RTT::base::PortInterface::connection_lock
os::MutexRecursive connection_lock
Definition:
PortInterface.hpp:70
RTT::internal::PortConnectionLock
Definition:
PortConnectionLock.hpp:46
RTT::internal::PortConnectionLock::PortConnectionLock
PortConnectionLock(base::PortInterface *port)
Definition:
PortConnectionLock.hpp:51
internal
RTT
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
Definition:
Activity.cpp:53
RTT::base::PortInterface
Definition:
PortInterface.hpp:59
RTT::os::MutexRecursive::lock
void lock()
Definition:
Mutex.hpp:245
RTT::internal::PortConnectionLock::mport
base::PortInterface * mport
Definition:
PortConnectionLock.hpp:48
rtt
Author(s): RTT Developers
autogenerated on Tue Jun 25 2019 19:33:26