Orocos Real-Time Toolkit  2.9.0
OperationInterfaceI.h
Go to the documentation of this file.
1 /***************************************************************************
2  tag: The SourceWorks Tue Sep 7 00:55:18 CEST 2010 OperationInterfaceI.h
3 
4  OperationInterfaceI.h - description
5  -------------------
6  begin : Tue September 07 2010
7  copyright : (C) 2010 The SourceWorks
8  email : peter@thesourceworks.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 // -*- C++ -*-
40 //
41 // $Id$
42 
43 // **** Code generated by the The ACE ORB (TAO) IDL Compiler ****
44 // TAO and the TAO IDL Compiler have been developed by:
45 // Center for Distributed Object Computing
46 // Washington University
47 // St. Louis, MO
48 // USA
49 // http://www.cs.wustl.edu/~schmidt/doc-center.html
50 // and
51 // Distributed Object Computing Laboratory
52 // University of California at Irvine
53 // Irvine, CA
54 // USA
55 // http://doc.ece.uci.edu/
56 // and
57 // Institute for Software Integrated Systems
58 // Vanderbilt University
59 // Nashville, TN
60 // USA
61 // http://www.isis.vanderbilt.edu/
62 //
63 // Information about TAO is available at:
64 // http://www.cs.wustl.edu/~schmidt/TAO.html
65 
66 // TAO_IDL - Generated from
67 // ../../../ACE_wrappers/TAO/TAO_IDL/be/be_codegen.cpp:1133
68 
69 #ifndef ORO_CORBA_OPERATIONREPOSITORYI_H_
70 #define ORO_CORBA_OPERATIONREPOSITORYI_H_
71 
72 #include "corba.h"
73 #ifdef CORBA_IS_TAO
74 #include "OperationInterfaceS.h"
75 #else
76 #include "OperationInterfaceC.h"
77 #endif
78 #include "../../OperationInterface.hpp"
79 #include "../../internal/SendHandleC.hpp"
80 #include "../../internal/OperationInterfacePartFused.hpp"
81 
82 #if !defined (ACE_LACKS_PRAGMA_ONCE)
83 #pragma once
84 #endif /* ACE_LACKS_PRAGMA_ONCE */
85 
87  : public virtual POA_RTT::corba::CSendHandle,
88  public virtual PortableServer::RefCountServantBase
89 {
90  RTT::internal::SendHandleC mhandle, morig;
92  std::vector<RTT::base::DataSourceBase::shared_ptr> cargs;
93 public:
94  // Constructor
96 
97  // Destructor
98  virtual ~RTT_corba_CSendHandle_i (void);
99 
100  virtual
102  ::RTT::corba::CAnyArguments_out args);
103 
104  virtual
106  ::RTT::corba::CAnyArguments_out args);
107 
108  virtual
110  void);
111 
112  virtual
113  ::CORBA::Any * ret (
114  void);
115 
116  virtual
117  void checkArguments (
119 
120  virtual
121  void dispose ();
122 };
123 
125  : public virtual POA_RTT::corba::COperationInterface
126 {
128  PortableServer::POA_var mpoa;
129  RTT::Operation<bool(std::string)> loadPluginOperation;
131 
132  public:
133  //Constructor
134  RTT_corba_COperationInterface_i(RTT::OperationInterface* mfact, PortableServer::POA_ptr the_poa);
135 
136  PortableServer::POA_ptr _default_POA();
137 
138  // Destructor
139  virtual ~RTT_corba_COperationInterface_i (void);
140 
141  virtual
143  void);
144 
145  virtual
147  const char * operation);
148 
149  virtual
150  ::RTT::corba::CTypeList * getCollectTypes (
151  const char * operation);
152 
153  virtual
154  char * getResultType (
155  const char * operation);
156 
157  virtual
158  char* getArgumentType(
159  const char*,
160  CORBA::UShort);
161 
162  virtual
163  char* getCollectType(
164  const char*,
165  CORBA::UShort);
166 
167  virtual ::CORBA::UShort getArity (
168  const char * operation);
169 
170  virtual ::CORBA::UShort getCollectArity (
171  const char * operation);
172 
173  virtual
174  char * getDescription (
175  const char * operation);
176 
177  virtual
178  void checkOperation (
179  const char * operation,
181 
182  virtual
183  ::CORBA::Any * callOperation (
184  const char * operation,
185  ::RTT::corba::CAnyArguments & args);
186 
187  virtual
188  ::RTT::corba::CSendHandle_ptr sendOperation (
189  const char * operation,
191 
192  virtual
193  void sendOperationOneway (
194  const char * operation,
196 
197 private:
198  RTT_corba_CSendHandle_i* sendOperationInternal (
199  const char * operation,
201 
202  RTT::OperationInterfacePart *findOperation ( const char *operation );
203  bool loadPlugin ( const std::string& pluginPath );
204 };
205 
206 
207 #endif /* OPERATIONREPOSITORYI_H_ */
208 
virtual ::RTT::corba::CSendStatus collect(::RTT::corba::CAnyArguments_out args)
virtual ::RTT::corba::CSendStatus collectIfDone(::RTT::corba::CAnyArguments_out args)
sequence< any > CAnyArguments
virtual ~RTT_corba_CSendHandle_i(void)
virtual ::RTT::corba::CSendStatus checkStatus(void)
sequence< COperation > COperationDescriptions
virtual ::CORBA::Any * ret(void)
A template-less SendHandle manager.
Definition: SendHandleC.hpp:61
This class defines the interface for creating operation objects without using C++ templates...
sequence< CArgumentDescription > CArgumentDescriptions
virtual void checkArguments(const ::RTT::corba::CAnyArguments &args)
RTT_corba_CSendHandle_i(RTT::internal::SendHandleC const &sh, RTT::OperationInterfacePart *ofp)
sequence< string > CTypeList
Holds all exported operations of a component and is able to produce callers for these operations...