Orocos Real-Time Toolkit  2.9.0
RemoteConnID.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Peter Soetens Thu Oct 22 11:59:07 CEST 2009 RemoteConnID.cpp
3 
4  RemoteConnID.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  * RemoteConnID.cpp
41  *
42  * Created on: Oct 14, 2009
43  * Author: kaltan
44  */
45 
46 #include "RemoteConnID.hpp"
47 
48 using namespace RTT::corba;
49 
50 RemoteConnID::RemoteConnID(CDataFlowInterface_ptr dataflow, std::string const& name)
51 : dataflow(CDataFlowInterface::_duplicate(dataflow))
52  , name(name) {}
53 
54 bool RemoteConnID::isSameID(ConnID const& id) const
55  {
56  RemoteConnID const* real_id = dynamic_cast<RemoteConnID const*>(&id);
57  if (!real_id) return false;
58  return real_id->dataflow->_is_equivalent(dataflow) && real_id->name == name;
59  }
60 
62  return new RemoteConnID( this->dataflow.in(), this->name);
63 }
ConnID * clone() const
An interface to access the dataflow of a CControlTask object.
Definition: DataFlow.idl:150
bool isSameID(ConnID const &id) const
Represents a connection to a remote CORBA port.
const std::string name
CORBA (OmniORB/TAO) code for network data transport.
RemoteConnID(CDataFlowInterface_ptr dataflow, std::string const &name)
This class is used in places where a permanent representation of a reference to a connection is neede...
Definition: ConnID.hpp:58
const CDataFlowInterface_var dataflow