=default for generated implementation copy ctor
[ACE_TAO.git] / TAO / tao / Messaging / Asynch_Invocation.h
blobc6d1f68d86111e554c1fd6dfe87e4bb261e3fb78
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Asynch_Invocation.h
7 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
8 */
9 //=============================================================================
11 #ifndef TAO_MESSAGING_ASYNCH_INVOCATION_H
12 #define TAO_MESSAGING_ASYNCH_INVOCATION_H
13 #include /**/ "ace/pre.h"
15 #include "tao/Messaging/messaging_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include "tao/Synch_Invocation.h"
22 #include "tao/Asynch_Reply_Dispatcher_Base.h"
23 #include "ace/Global_Macros.h"
24 #include "ace/Auto_Functor.h"
27 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
28 class ACE_Time_Value;
29 ACE_END_VERSIONED_NAMESPACE_DECL
31 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
33 class TAO_Operation_Details;
34 class TAO_InputCDR;
35 class TAO_Asynch_Reply_Dispatcher_Base;
37 namespace TAO
39 class Profile_Transport_Resolver;
41 class TAO_Messaging_Export Asynch_Remote_Invocation
42 : public Synch_Twoway_Invocation
44 public:
45 Asynch_Remote_Invocation (CORBA::Object_ptr otarget,
46 Profile_Transport_Resolver &resolver,
47 TAO_Operation_Details &detail,
48 TAO_Asynch_Reply_Dispatcher_Base *rd,
49 bool response_expected = true);
51 Invocation_Status remote_invocation (ACE_Time_Value *value);
53 protected:
54 // To prevent leaking memory from the reply dispatcher that we
55 // are given
56 ACE_Utils::Auto_Functor <TAO_Asynch_Reply_Dispatcher_Base,
57 ARDB_Refcount_Functor> safe_rd_;
61 TAO_END_VERSIONED_NAMESPACE_DECL
63 #include /**/ "ace/post.h"
64 #endif /*TAO_MESSAGING_ASYNCH_INVOCATION_H*/