Orocos Real-Time Toolkit  2.9.0
CorbaConnPolicy.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Peter Soetens Thu Oct 22 11:59:07 CEST 2009 CorbaConnPolicy.cpp
3 
4  CorbaConnPolicy.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 /*
40  * CorbaConnPolicy.cpp
41  *
42  * Created on: Oct 16, 2009
43  * Author: kaltan
44  */
45 
46 #include "CorbaConnPolicy.hpp"
47 
49 {
50  RTT::corba::CConnPolicy corba_policy;
51  corba_policy.type = RTT::corba::CConnectionModel(policy.type);
52  corba_policy.size = policy.size;
53  corba_policy.lock_policy = RTT::corba::CLockPolicy(policy.lock_policy);
54  corba_policy.init = policy.init;
55  corba_policy.pull = policy.pull;
57  corba_policy.max_threads = policy.max_threads;
58  corba_policy.mandatory = policy.mandatory;
59  corba_policy.data_size = policy.data_size;
60  corba_policy.transport = policy.transport;
61  corba_policy.name_id = CORBA::string_dup( policy.name_id.c_str() );
62  return corba_policy;
63 }
64 
66 {
67  RTT::ConnPolicy policy;
68  policy.type = corba_policy.type;
69  policy.size = corba_policy.size;
70  policy.lock_policy = corba_policy.lock_policy;
71  policy.init = corba_policy.init;
72  policy.pull = corba_policy.pull;
73  policy.buffer_policy = RTT::BufferPolicy(corba_policy.buffer_policy);
74  policy.max_threads = corba_policy.max_threads;
75  policy.mandatory = corba_policy.mandatory;
76  policy.data_size = corba_policy.data_size;
77  policy.transport = corba_policy.transport;
78  policy.name_id = corba_policy.name_id;
79  return policy;
80 }
CConnectionModel type
Definition: DataFlow.idl:20
int data_size
Suggest the payload size of the data sent over this channel.
Definition: ConnPolicy.hpp:248
int lock_policy
This is the locking policy on the connection.
Definition: ConnPolicy.hpp:196
int type
DATA, BUFFER or CIRCULAR_BUFFER.
Definition: ConnPolicy.hpp:190
A connection policy object describes how a given connection should behave.
Definition: ConnPolicy.hpp:107
CBufferPolicy buffer_policy
Definition: DataFlow.idl:25
RTT::ConnPolicy toRTT(RTT::corba::CConnPolicy const &corba_policy)
Converts a Corba CConnPolicy object to a RTT ConPolicy object.
int size
If the connection is a buffered connection, the size of the buffer.
Definition: ConnPolicy.hpp:193
bool pull
If true, then the sink will have to pull data.
Definition: ConnPolicy.hpp:209
bool mandatory
Whether the connection described by this connection policy is mandatory, which means that write opera...
Definition: ConnPolicy.hpp:232
int max_threads
The maximum number of threads that will access the connection data or buffer object.
Definition: ConnPolicy.hpp:224
bool init
If true, one should initialize the connection's value with the last value written on the writer port...
Definition: ConnPolicy.hpp:203
RTT::corba::CConnPolicy toCORBA(RTT::ConnPolicy const &policy)
Converts a RTT ConnPolicy object to a Corba CConPolicy object.
BufferPolicy
The BufferPolicy controls how multiple connections to the same input or output port are handled in ca...
int transport
The prefered transport used.
Definition: ConnPolicy.hpp:238
int buffer_policy
The policy on how buffer elements will be installed for this connection, which influences the behavio...
Definition: ConnPolicy.hpp:216
CLockPolicy lock_policy
Definition: DataFlow.idl:22
std::string name_id
The name of this connection.
Definition: ConnPolicy.hpp:256