diff options
Diffstat (limited to 'TAO/tao/Stub.h')
-rw-r--r-- | TAO/tao/Stub.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/TAO/tao/Stub.h b/TAO/tao/Stub.h index d1509c76a92..580eb65bdfb 100644 --- a/TAO/tao/Stub.h +++ b/TAO/tao/Stub.h @@ -432,7 +432,10 @@ private: private: TAO_MProfile base_profiles_; // ordered list of profiles for this object. + TAO_MProfile *forward_profiles_; + // The list of forwarding profiles. This is actually iimplemented as a + // linked list of TAO_MProfile objects. TAO_Profile *profile_in_use_; // this is the profile that we are currently sending/receiving with @@ -475,6 +478,30 @@ private: #endif /* __GNUG__ */ }; +// Define a TAO_Stub auto_ptr class +class TAO_Stub_Auto_Ptr +{ + // = TITLE + // Implements the draft C++ standard auto_ptr abstraction. + // This class allows one to work Stub Objects *Only*! +public: + // = Initialization and termination methods + /* explicit */ TAO_Stub_Auto_Ptr (TAO_Stub *p = 0); + TAO_Stub_Auto_Ptr (TAO_Stub_Auto_Ptr &ap); + TAO_Stub_Auto_Ptr &operator= (TAO_Stub_Auto_Ptr &rhs); + ~TAO_Stub_Auto_Ptr (void); + + // = Accessor methods. + TAO_Stub &operator *() const; + TAO_Stub *get (void) const; + TAO_Stub *release (void); + void reset (TAO_Stub *p = 0); + TAO_Stub *operator-> () const; + +protected: + TAO_Stub *p_; +}; + #if defined (__ACE_INLINE__) # include "tao/Stub.i" #endif /* __ACE_INLINE__ */ |