diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-27 13:58:52 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-05-27 13:58:52 +0000 |
commit | 64e2375ceb787cdc9bb5c58f9bd688194767b86d (patch) | |
tree | e17583a5b0dec946bbb46faf585a6f3682b43bed /TAO/tao | |
parent | 8319558b9965fa9af1f539930b65e7d7f0290a6b (diff) | |
download | ATCD-64e2375ceb787cdc9bb5c58f9bd688194767b86d.tar.gz |
Added _var and _out declarations.
Diffstat (limited to 'TAO/tao')
-rw-r--r-- | TAO/tao/Principal.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/TAO/tao/Principal.h b/TAO/tao/Principal.h index 0a2c01dccf3..43eeb47518d 100644 --- a/TAO/tao/Principal.h +++ b/TAO/tao/Principal.h @@ -50,6 +50,7 @@ public: #if !defined(__GNUC__) || __GNUC__ > 2 || __GNUC_MINOR__ >= 8 typedef CORBA_Principal_ptr _ptr_type; + typedef CORBA_Principal_var _var_type; #endif /* __GNUC__ */ // Useful for template programming. @@ -75,6 +76,72 @@ private: #endif /* __GNUG__ */ }; +class TAO_Export CORBA_Principal_var +{ + // = TITLE + // The T_var class for Principal + // + // = DESCRIPTION + // As any other pseudo object Principal must have a T_var class, + // the interface an semantics are specified in the CORBA spec. + // + // = NOTE + // We use CORBA_Principal_ptr as the _ptr type instead of + // CORBA::Principal_ptr, this is an attempt to reduced the cyclic + // dependencies in TAO. + // +public: + CORBA_Principal_var (void); + CORBA_Principal_var (CORBA_Principal_ptr); + CORBA_Principal_var (const CORBA_Principal_var &); + ~CORBA_Principal_var (void); + + CORBA_Principal_var &operator= (CORBA_Principal_ptr); + CORBA_Principal_var &operator= (const CORBA_Principal_var &); + CORBA_Principal_ptr operator-> (void) const; + + operator const CORBA_Principal_ptr &() const; + operator CORBA_Principal_ptr &(); + // in, inout, out, _retn + CORBA_Principal_ptr in (void) const; + CORBA_Principal_ptr &inout (void); + CORBA_Principal_ptr &out (void); + CORBA_Principal_ptr _retn (void); + CORBA_Principal_ptr ptr (void) const; + +private: + CORBA_Principal_ptr ptr_; +}; + +class TAO_Export CORBA_Principal_out +{ + // = TITLE + // The T_out class for Principal + // + // = DESCRIPTION + // As any other pseudo object Principal must have a T_out class, + // the interface an semantics are specified in the CORBA spec. + // + // = NOTE + // We use CORBA_Principal_ptr as the _ptr type instead of + // CORBA::Principal_ptr, this is an attempt to reduced the cyclic + // dependencies in TAO. + // +public: + CORBA_Principal_out (CORBA_Principal_ptr &); + CORBA_Principal_out (CORBA_Principal_var &); + CORBA_Principal_out (CORBA_Principal_out &); + CORBA_Principal_out &operator= (CORBA_Principal_out &); + CORBA_Principal_out &operator= (const CORBA_Principal_var &); + CORBA_Principal_out &operator= (CORBA_Principal_ptr); + operator CORBA_Principal_ptr &(); + CORBA_Principal_ptr &ptr (void); + CORBA_Principal_ptr operator-> (void); + +private: + CORBA_Principal_ptr &ptr_; +}; + extern TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR&, CORBA_Principal*); |