Orocos Real-Time Toolkit  2.8.3
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.init = policy.init;
53  corba_policy.lock_policy = RTT::corba::CLockPolicy(policy.lock_policy);
54  corba_policy.pull = policy.pull;
55  corba_policy.size = policy.size;
56  corba_policy.data_size = policy.data_size;
57  corba_policy.transport = policy.transport;
58  corba_policy.name_id = CORBA::string_dup( policy.name_id.c_str() );
59  return corba_policy;
60 }
61 
63 {
64  RTT::ConnPolicy policy;
65  policy.type = corba_policy.type;
66  policy.init = corba_policy.init;
67  policy.lock_policy = corba_policy.lock_policy;
68  policy.pull = corba_policy.pull;
69  policy.size = corba_policy.size;
70  policy.data_size = corba_policy.data_size;
71  policy.transport = corba_policy.transport;
72  policy.name_id = corba_policy.name_id;
73  return policy;
74 }
CConnectionModel type
Definition: DataFlow.idl:18
int data_size
Suggest the payload size of the data sent over this channel.
Definition: ConnPolicy.hpp:174
int lock_policy
This is the locking policy on the connection.
Definition: ConnPolicy.hpp:152
int type
DATA, BUFFER or CIRCULAR_BUFFER.
Definition: ConnPolicy.hpp:144
A connection policy object describes how a given connection should behave.
Definition: ConnPolicy.hpp:92
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:159
bool pull
If true, then the sink will have to pull data.
Definition: ConnPolicy.hpp:157
bool init
If true, one should initialize the connection's value with the last value written on the writer port...
Definition: ConnPolicy.hpp:150
RTT::corba::CConnPolicy toCORBA(RTT::ConnPolicy const &policy)
Converts a RTT ConnPolicy object to a Corba CConPolicy object.
int transport
The prefered transport used.
Definition: ConnPolicy.hpp:164
CLockPolicy lock_policy
Definition: DataFlow.idl:20
std::string name_id
The name of this connection.
Definition: ConnPolicy.hpp:182