summaryrefslogtreecommitdiff
path: root/TAO/tao/Environment.h
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-05 07:19:41 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-05-05 07:19:41 +0000
commita3c9a92711dfa4d7eefaffd5bf1bf6235fd74a8a (patch)
tree808937bf9b591f19dd97c781a095db338c85af0c /TAO/tao/Environment.h
parenta27ab066486b72d93edcf9110fb570018b7d7fc4 (diff)
downloadATCD-a3c9a92711dfa4d7eefaffd5bf1bf6235fd74a8a.tar.gz
*** empty log message ***
Diffstat (limited to 'TAO/tao/Environment.h')
-rw-r--r--TAO/tao/Environment.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/TAO/tao/Environment.h b/TAO/tao/Environment.h
index bbd6e0a9fc0..92fd8d65886 100644
--- a/TAO/tao/Environment.h
+++ b/TAO/tao/Environment.h
@@ -104,6 +104,7 @@ public:
#if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8
typedef CORBA_Environment_ptr _ptr_type;
+ typedef CORBA_Environment_var _var_type;
#endif /* __GNUC__ */
// Useful for template programming.
@@ -122,6 +123,62 @@ private:
};
+class TAO_Export CORBA_Environment_var
+{
+ // = TITLE
+ // CORBA_Environment_var
+ //
+ // = DESCRIPTION
+ // Provide for automatic storage deallocation on going out of
+ // scope.
+public:
+ CORBA_Environment_var (void); // default constructor
+ CORBA_Environment_var (CORBA_Environment_ptr);
+ CORBA_Environment_var (const CORBA_Environment_var &); // copy constructor
+ ~CORBA_Environment_var (void); // destructor
+
+ CORBA_Environment_var &operator= (CORBA_Environment_ptr);
+ CORBA_Environment_var &operator= (const CORBA_Environment_var &);
+ CORBA_Environment_ptr operator-> (void) const;
+
+ operator const CORBA_Environment_ptr &() const;
+ operator CORBA_Environment_ptr &();
+ // in, inout, out, _retn
+ CORBA_Environment_ptr in (void) const;
+ CORBA_Environment_ptr &inout (void);
+ CORBA_Environment_ptr &out (void);
+ CORBA_Environment_ptr _retn (void);
+ CORBA_Environment_ptr ptr (void) const;
+
+private:
+ CORBA_Environment_ptr ptr_;
+};
+
+class TAO_Export CORBA_Environment_out
+{
+ // = TITLE
+ // CORBA_Environment_out
+ //
+ // = DESCRIPTION
+ // The _out class for CORBA_Environment. This is used to help in
+ // managing the out parameters.
+public:
+ CORBA_Environment_out (CORBA_Environment_ptr &);
+ CORBA_Environment_out (CORBA_Environment_var &);
+ CORBA_Environment_out (const CORBA_Environment_out &);
+ CORBA_Environment_out &operator= (const CORBA_Environment_out &);
+ CORBA_Environment_out &operator= (CORBA_Environment_ptr);
+ operator CORBA_Environment_ptr &();
+ CORBA_Environment_ptr &ptr (void);
+ CORBA_Environment_ptr operator-> (void);
+
+private:
+ CORBA_Environment_ptr &ptr_;
+
+ CORBA_Environment_out &operator= (const CORBA_Environment_var &);
+ // Assignment from _var not allowed.
+};
+
#if defined (__ACE_INLINE__)
# include "tao/Environment.i"
#endif /* __ACE_INLINE__ */