diff options
author | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-10-10 20:03:32 +0000 |
---|---|---|
committer | parsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-10-10 20:03:32 +0000 |
commit | 80a590fe3a0da6a5d1eaad18cef22d165db58d7c (patch) | |
tree | c88a5d822d6e65d1fd494c10270c63168e9455b2 /TAO/tao | |
parent | 59294fd311ec0f7a81ccdfa31ccec9b857b8de94 (diff) | |
download | ATCD-80a590fe3a0da6a5d1eaad18cef22d165db58d7c.tar.gz |
ChangeLogTag: Tue Oct 10 14:52:16 2000 Jeff Parsons <parsons@cs.wustl.edu>
Diffstat (limited to 'TAO/tao')
-rw-r--r-- | TAO/tao/Any.cpp | 278 | ||||
-rw-r--r-- | TAO/tao/Any.h | 106 | ||||
-rw-r--r-- | TAO/tao/Any.i | 12 | ||||
-rw-r--r-- | TAO/tao/DomainC.cpp | 287 | ||||
-rw-r--r-- | TAO/tao/DomainC.h | 60 | ||||
-rw-r--r-- | TAO/tao/PortableServer/DomainS.cpp | 68 | ||||
-rw-r--r-- | TAO/tao/PortableServer/DomainS.h | 10 | ||||
-rw-r--r-- | TAO/tao/ifrfwd.h | 2 |
8 files changed, 462 insertions, 361 deletions
diff --git a/TAO/tao/Any.cpp b/TAO/tao/Any.cpp index 009348c2409..dcb23a11578 100644 --- a/TAO/tao/Any.cpp +++ b/TAO/tao/Any.cpp @@ -71,58 +71,6 @@ CORBA_Any::CORBA_Any (void) { } -// The more common "Any" constructor has its own copy of a typecode, -// and either holds or "consumes" an arbitrary data value satisfying -// the normal binary interface rules. - -#if 0 -CORBA_Any::CORBA_Any (CORBA::TypeCode_ptr, - void *, - CORBA::Environment &ACE_TRY_ENV) - : type_ (CORBA::TypeCode::_duplicate (CORBA::_tc_null)), - byte_order_ (TAO_ENCAP_BYTE_ORDER), - cdr_ (0), - any_owns_data_ (0), - value_ (0), - destructor_ (0) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -CORBA_Any::CORBA_Any (CORBA::TypeCode_ptr, - void *, - CORBA::Boolean, - CORBA::Environment &ACE_TRY_ENV) - : type_ (CORBA::TypeCode::_duplicate (CORBA::_tc_null)), - byte_order_ (TAO_ENCAP_BYTE_ORDER), - cdr_ (0), - any_owns_data_ (0), - value_ (0), - destructor_ (0) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -// All-at-once replacement of the contents of an "Any." - -void -CORBA_Any::replace (CORBA::TypeCode_ptr, - const void *, - CORBA::Boolean, - CORBA::Environment &ACE_TRY_ENV) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} - -void -CORBA_Any::replace (CORBA::TypeCode_ptr, - const void *, - CORBA::Environment &ACE_TRY_ENV) -{ - ACE_THROW (CORBA::NO_IMPLEMENT ()); -} -#endif /* 0 */ - CORBA_Any::CORBA_Any (CORBA::TypeCode_ptr tc, CORBA::Environment &) : type_ (CORBA::TypeCode::_duplicate (tc)), @@ -132,7 +80,6 @@ CORBA_Any::CORBA_Any (CORBA::TypeCode_ptr tc, value_ (0), destructor_ (0) { - // ACE_THROW (CORBA::NO_IMPLEMENT ()); } // Constructor using a message block. @@ -178,9 +125,11 @@ CORBA_Any::CORBA_Any (const CORBA_Any &src) CORBA_Any & CORBA_Any::operator= (const CORBA_Any &src) { - // check if it is a self assignment + // Check if it is a self assignment if (this == &src) - return *this; + { + return *this; + } // Decrement the refcount on the Message_Block we hold, it does not // matter if we own the data or not, because we always own the @@ -204,17 +153,21 @@ CORBA_Any::operator= (const CORBA_Any &src) } this->byte_order_ = src.byte_order_; - ACE_NEW_RETURN (this->cdr_, ACE_Message_Block, *this); - ACE_CDR::consolidate (this->cdr_, src.cdr_); + + ACE_NEW_RETURN (this->cdr_, + ACE_Message_Block, + *this); + + ACE_CDR::consolidate (this->cdr_, + src.cdr_); return *this; } // Destructor for an "Any" deep-frees memory if needed. - CORBA_Any::~CORBA_Any (void) { - // decrement the refcount on the Message_Block we hold, it does not + // Decrement the refcount on the Message_Block we hold, it does not // matter if we own the data or not, because we always own the // message block (i.e. it is always cloned or duplicated. @@ -243,8 +196,12 @@ CORBA_Any::_tao_replace (CORBA::TypeCode_ptr tc, this->type_ = CORBA::TypeCode::_duplicate (tc); this->byte_order_ = byte_order; - ACE_NEW (this->cdr_, ACE_Message_Block); - ACE_CDR::consolidate (this->cdr_, mb); + + ACE_NEW (this->cdr_, + ACE_Message_Block); + + ACE_CDR::consolidate (this->cdr_, + mb); // We can save the decode operation if there's no need to extract // the object. } @@ -296,7 +253,6 @@ CORBA_Any::_tao_replace (CORBA::TypeCode_ptr tc, } // Free internal data. - void CORBA_Any::free_value (void) { @@ -364,7 +320,10 @@ CORBA_Any::_tao_decode (TAO_InputCDR &cdr, ptr_arith_t offset = ptr_arith_t (begin) % ACE_CDR::MAX_ALIGNMENT; mb.rd_ptr (offset); mb.wr_ptr (offset + size); - ACE_OS::memcpy (mb.rd_ptr (), begin, size); + + ACE_OS::memcpy (mb.rd_ptr (), + begin, + size); // Stick it into the Any. It gets duplicated there. this->_tao_replace (this->type_.in (), @@ -372,7 +331,7 @@ CORBA_Any::_tao_decode (TAO_InputCDR &cdr, &mb); } -// insertion operators +// Insertion operators. void CORBA_Any::operator<<= (CORBA::Short s) @@ -464,9 +423,9 @@ CORBA_Any::operator<<= (CORBA::LongDouble d) stream.begin ()); } -// insertion of Any - copying +// Insertion of Any - copying. void -CORBA_Any::operator<<= (const CORBA_Any& a) +CORBA_Any::operator<<= (const CORBA_Any &a) { TAO_OutputCDR stream; stream << a; @@ -475,16 +434,16 @@ CORBA_Any::operator<<= (const CORBA_Any& a) stream.begin ()); } -// insertion of Any - non-copying +// Insertion of Any - non-copying. void CORBA::Any::_tao_any_destructor (void *x) { - CORBA::Any *tmp = ACE_static_cast (CORBA::Any*,x); + CORBA::Any *tmp = ACE_static_cast (CORBA::Any *, x); delete tmp; } void -CORBA::Any::operator<<= (CORBA::Any* a) +CORBA::Any::operator<<= (CORBA::Any *a) { TAO_OutputCDR stream; stream << *a; @@ -548,7 +507,7 @@ CORBA_Any::operator<<= (CORBA::TypeCode_ptr tc) stream.begin ()); } -// Insertion of CORBA::Exception - copying +// Insertion of CORBA::Exception - copying. void CORBA_Any::operator<<= (const CORBA_Exception &exception) { @@ -574,7 +533,7 @@ CORBA_Any::operator<<= (const CORBA_Exception &exception) ACE_CHECK; } -// Insertion of CORBA::Exception - non-copying +// Insertion of CORBA::Exception - non-copying. void CORBA_Any::operator<<= (CORBA_Exception *exception) { @@ -614,12 +573,13 @@ CORBA::Any::operator<<= (const CORBA::Object_ptr obj) } // Insertion of CORBA object - non-copying. - void CORBA::Any::operator<<= (CORBA::Object_ptr *objptr) { if (objptr == 0) - return; // @@ Should we raise an exception? + { + return; // @@ Should we raise an exception? + } TAO_OutputCDR stream; stream << *objptr; @@ -629,7 +589,6 @@ CORBA::Any::operator<<= (CORBA::Object_ptr *objptr) } // Insertion of from_string. - void CORBA_Any::operator<<= (from_string s) { @@ -639,7 +598,7 @@ CORBA_Any::operator<<= (from_string s) // If the inserted string is bounded, we create a typecode. static CORBA::Long _oc_string [] = { - // CDR typecode octets + // CDR typecode octets. TAO_ENCAP_BYTE_ORDER, // native endian + padding; "tricky" 0 // ... unbounded string to start with }; @@ -650,6 +609,7 @@ CORBA_Any::operator<<= (from_string s) { // Bounded string. _oc_string [1] = s.bound_; + // @@ It seems like this could be leaked! ACE_NEW (tc, CORBA::TypeCode (CORBA::tk_string, @@ -660,10 +620,12 @@ CORBA_Any::operator<<= (from_string s) } else { - tc = CORBA::_tc_string; // unbounded. + // Unbounded. + tc = CORBA::_tc_string; } char *tmp; + // Non-copying. if (s.nocopy_) { @@ -691,7 +653,7 @@ CORBA_Any::operator<<= (from_wstring ws) // If the inserted string is bounded, we create a typecode. static CORBA::Long _oc_wstring [] = { - // CDR typecode octets + // CDR typecode octets. TAO_ENCAP_BYTE_ORDER, // native endian + padding; "tricky" 0 // ... unbounded string to start with }; @@ -702,6 +664,7 @@ CORBA_Any::operator<<= (from_wstring ws) { // Bounded string. _oc_wstring [1] = ws.bound_; + // @@ TODO It seems like this is leaked! ACE_NEW (tc, CORBA::TypeCode (CORBA::tk_wstring, @@ -712,7 +675,8 @@ CORBA_Any::operator<<= (from_wstring ws) } else { - tc = CORBA::_tc_wstring; // unbounded. + // Unbounded. + tc = CORBA::_tc_wstring; } CORBA::WChar *tmp; @@ -736,7 +700,7 @@ CORBA_Any::operator<<= (from_wstring ws) // Extraction: these are safe and hence we have to check that the // typecode of the Any is equal to the one we are trying to extract -// into +// into. CORBA::Boolean CORBA_Any::operator>>= (CORBA::Short &s) const @@ -780,10 +744,13 @@ CORBA_Any::operator>>= (CORBA::UShort &s) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_ushort (s); } ACE_CATCHANY @@ -809,10 +776,13 @@ CORBA_Any::operator>>= (CORBA::Long &l) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_long (l); } ACE_CATCHANY @@ -838,10 +808,13 @@ CORBA_Any::operator>>= (CORBA::ULong &l) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_ulong (l); } ACE_CATCHANY @@ -867,10 +840,13 @@ CORBA_Any::operator>>= (CORBA::LongLong &l) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_longlong (l); } ACE_CATCHANY @@ -937,10 +913,13 @@ CORBA_Any::operator>>= (CORBA::Float &f) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_float (f); } ACE_CATCHANY @@ -966,10 +945,13 @@ CORBA_Any::operator>>= (CORBA::Double &d) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_double (d); } ACE_CATCHANY @@ -995,10 +977,13 @@ CORBA_Any::operator>>= (CORBA::LongDouble &ld) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); + return stream.read_longdouble (ld); } ACE_CATCHANY @@ -1024,15 +1009,16 @@ CORBA_Any::operator>>= (CORBA::Any &a) const ACE_TRY_CHECK; if (!result) - return 0; - - if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream (this->cdr_, this->byte_order_); if (stream >> a) - return 1; + { + return 1; + } } ACE_CATCHANY { @@ -1058,7 +1044,9 @@ CORBA_Any::operator>>= (const CORBA::Any *&a) const ACE_TRY_CHECK; if (!equivalent) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1072,8 +1060,11 @@ CORBA_Any::operator>>= (const CORBA::Any *&a) const CORBA::Any_var tmp = x; TAO_InputCDR stream (this->cdr_, this->byte_order_); + if (!(stream >> tmp.inout ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_any, @@ -1114,7 +1105,9 @@ CORBA_Any::operator>>= (const char *&s) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1126,8 +1119,11 @@ CORBA_Any::operator>>= (const char *&s) const TAO_InputCDR stream (this->cdr_, this->byte_order_); CORBA::String_var tmp; + if (!stream.read_string (tmp.out ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_string, @@ -1176,7 +1172,9 @@ CORBA_Any::operator>>= (const CORBA::WChar *&s) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1187,8 +1185,11 @@ CORBA_Any::operator>>= (const CORBA::WChar *&s) const TAO_InputCDR stream (this->cdr_, this->byte_order_); CORBA::WString_var tmp; + if (!stream.read_wstring (tmp.out ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_wstring, @@ -1229,7 +1230,9 @@ CORBA_Any::operator>>= (CORBA::TypeCode_ptr &tc) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1242,7 +1245,9 @@ CORBA_Any::operator>>= (CORBA::TypeCode_ptr &tc) const CORBA::TypeCode_var tmp; if (!(stream >> tmp.inout ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_TypeCode, @@ -1278,10 +1283,13 @@ CORBA_Any::operator>>= (to_boolean b) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); + return stream.read_boolean (b.ref_); } ACE_CATCHANY @@ -1307,10 +1315,13 @@ CORBA_Any::operator>>= (to_octet o) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); + return stream.read_octet (o.ref_); } ACE_CATCHANY @@ -1336,10 +1347,13 @@ CORBA_Any::operator>>= (to_char c) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); + return stream.read_char (c.ref_); } ACE_CATCHANY @@ -1365,10 +1379,13 @@ CORBA_Any::operator>>= (to_wchar wc) const ACE_TRY_CHECK; if (!result) - return 0; + { + return 0; + } TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); + return stream.read_wchar (wc.ref_); } ACE_CATCHANY @@ -1405,12 +1422,17 @@ CORBA_Any::operator>>= (to_string s) const } if (kind != CORBA::tk_string) - return 0; + { + return 0; + } CORBA::ULong bound = tcvar->length (ACE_TRY_ENV); ACE_TRY_CHECK; + if (s.bound_ != bound) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1421,8 +1443,11 @@ CORBA_Any::operator>>= (to_string s) const TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); CORBA::String_var tmp; + if (!stream.read_string (tmp.out ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_string, @@ -1467,12 +1492,17 @@ CORBA_Any::operator>>= (to_wstring ws) const } if (kind != CORBA::tk_wstring) - return 0; + { + return 0; + } CORBA::ULong bound = tcvar->length (ACE_TRY_ENV); ACE_TRY_CHECK; + if (ws.bound_ != bound) - return 0; + { + return 0; + } if (this->any_owns_data_ && this->value_) { @@ -1483,8 +1513,11 @@ CORBA_Any::operator>>= (to_wstring ws) const TAO_InputCDR stream ((ACE_Message_Block *) this->cdr_, this->byte_order_); CORBA::WString_var tmp; + if (!stream.read_wstring (tmp.out ())) - return 0; + { + return 0; + } ACE_const_cast(CORBA::Any*, this)->_tao_replace (CORBA::_tc_string, @@ -1518,6 +1551,7 @@ CORBA_Any::operator>>= (to_object obj) const CORBA::TypeCode_var tcvar = CORBA::TypeCode::_duplicate (this->type_.in ()); + while (kind == CORBA::tk_alias) { tcvar = tcvar->content_type (ACE_TRY_ENV); @@ -1528,7 +1562,9 @@ CORBA_Any::operator>>= (to_object obj) const } if (kind != CORBA::tk_objref) - return 0; + { + return 0; + } // It is hard to apply this optimization, because value_ points // to a derived class from CORBA::Object, and with multiple @@ -1558,7 +1594,9 @@ CORBA_Any::operator>>= (to_object obj) const TAO_ORB_Core_instance ()); if (stream >> obj.ref_) - return 1; + { + return 1; + } } ACE_CATCHANY { @@ -1601,7 +1639,9 @@ operator<< (TAO_OutputCDR& cdr, CORBA::TypeCode_var tc = x.type (); if (!(cdr << tc.in ())) - return 0; + { + return 0; + } ACE_TRY_NEW_ENV { @@ -1626,8 +1666,11 @@ operator>> (TAO_InputCDR &cdr, CORBA::Any &x) { CORBA::TypeCode_var tc; + if (!(cdr >> tc.out ())) - return 0; + { + return 0; + } ACE_TRY_NEW_ENV { @@ -1682,10 +1725,13 @@ CORBA_Any_var::operator= (CORBA::Any *p) if (this->ptr_ != p) { if (this->ptr_ != 0) - delete (this->ptr_); + { + delete (this->ptr_); + } this->ptr_ = p; } + return *this; } @@ -1699,7 +1745,9 @@ CORBA_Any_var::operator= (const CORBA::Any_var& r) *this); if (this->ptr_ != 0) - delete this->ptr_; + { + delete this->ptr_; + } this->ptr_ = tmp; diff --git a/TAO/tao/Any.h b/TAO/tao/Any.h index badedeb2f4f..40a48e12427 100644 --- a/TAO/tao/Any.h +++ b/TAO/tao/Any.h @@ -105,95 +105,95 @@ public: // =type safe insertion void operator<<= (CORBA::Short); - // insert a short + // Insert a short. void operator<<= (CORBA::UShort); - // insert an unsigned short + // Insert an unsigned short. void operator<<= (CORBA::Long); - // insert a long + // Insert a long. void operator<<= (CORBA::ULong); - // insert an unsigned long + // Insert an unsigned long. void operator<<= (CORBA::LongLong); - // insert a long long + // Insert a long long. void operator<<= (CORBA::ULongLong); - // insert an unsigned long long + // Insert an unsigned long long. void operator<<= (CORBA::Float); - // insert a float + // Insert a float. void operator<<= (CORBA::Double); - // insert a double + // Insert a double. void operator<<= (CORBA::LongDouble); - // insert a long double + // Insert a long double. void operator<<= (const CORBA_Any&); - // insert an Any, copying + // Insert an Any, copying. void operator<<= (CORBA_Any_ptr); - // insert an Any, non-copying + // Insert an Any, non-copying. void operator<<= (const char*); - // insert unbounded string + // Insert unbounded string void operator<<= (const CORBA::WChar*); - // insert unbounded wide string + // Insert unbounded wide string. void operator<<= (CORBA::TypeCode_ptr); - // insert a TypeCode + // Insert a TypeCode. void operator<<= (const CORBA::Object_ptr); - // insert an object reference, copying. + // Insert an object reference, copying. void operator<<= (CORBA::Object_ptr *); - // insert an object reference, non-copying. Any assumes the ownership + // Insert an object reference, non-copying. Any assumes the ownership // of the object. - // =type safe extraction + // =Type safe extraction. CORBA::Boolean operator>>= (CORBA::Short&) const; - // extract a short + // Extract a short. CORBA::Boolean operator>>= (CORBA::UShort&) const; - // extract an unsigned short + // Extract an unsigned short. CORBA::Boolean operator>>= (CORBA::Long&) const; - // extract a long + // Extract a long. CORBA::Boolean operator>>= (CORBA::ULong&) const; - // extract an unsigned long + // Extract an unsigned long. CORBA::Boolean operator>>= (CORBA::LongLong&) const; - // extract a long long + // Extract a long long. CORBA::Boolean operator>>= (CORBA::ULongLong&) const; - // extract an unsigned long long + // Extract an unsigned long long. CORBA::Boolean operator>>= (CORBA::Float&) const; - // extract a float + // Extract a float. CORBA::Boolean operator>>= (CORBA::Double&) const; - // extract a double + // Extract a double. CORBA::Boolean operator>>= (CORBA::LongDouble&) const; - // extract a long double + // Extract a long double. CORBA::Boolean operator>>= (CORBA_Any&) const; // non-spec CORBA::Boolean operator>>= (const CORBA_Any*&) const; - // extract an Any + // Extract an Any. CORBA::Boolean operator>>= (CORBA::TypeCode_ptr&) const; - // extract a TypeCode + // Extract a TypeCode. CORBA::Boolean operator>>= (const char*&) const; - // extract an unbounded string + // Extract an unbounded string CORBA::Boolean operator>>= (const CORBA::WChar*&) const; - // extract an unbounded wide string + // Extract an unbounded wide string. // = Special types. @@ -210,28 +210,28 @@ public: typedef ACE_OutputCDR::from_wstring from_wstring; void operator<<= (from_boolean); - // insert a boolean + // Insert a boolean. void operator<<= (from_char); - // insert a char + // Insert a char. void operator<<= (from_wchar); - // insert a wchar + // Insert a wchar. void operator<<= (from_octet); - // insert an octet + // Insert an octet. void operator<<= (from_string); - // insert a bounded string + // Insert a bounded string. void operator<<= (from_wstring); - // insert a bounded wide string + // Insert a bounded wide string. void operator<<= (const CORBA_Exception &exception); - // insert an exception into the Any (copying) + // Insert an exception into the Any (copying) void operator<<= (CORBA_Exception *exception); - // insert an exception into the Any (non-copying) + // Insert an exception into the Any (non-copying). // = Special types. @@ -281,32 +281,6 @@ public: // ORBOS/90-01-11, pg 672: For C++ mapping using the CORBA_Environment // parameter, two forms of the replace method are provided. -#if 0 - CORBA_Any (CORBA::TypeCode_ptr type, - void *value, - CORBA::Boolean any_owns_data, - CORBA::Environment &ACE_TRY_ENV - = TAO_default_environment ()); - CORBA_Any (CORBA::TypeCode_ptr type, - void *value, - CORBA::Environment &ACE_TRY_ENV - = TAO_default_environment ()); - // Obsolete. Raises CORBA::NO_IMPLEMENT. - - void replace (CORBA::TypeCode_ptr type, - const void *value, - CORBA::Boolean any_owns_data, - CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()); - // Obsolete. Raises CORBA::NO_IMPLEMENT. - - void replace (CORBA::TypeCode_ptr type, - const void *value, - CORBA_Environment &ACE_TRY_ENV = - TAO_default_environment ()); - // Obsolete. Raises CORBA::NO_IMPLEMENT. -#endif - CORBA::TypeCode_ptr type (void) const; // Return TypeCode of the element stored in the Any. @@ -553,6 +527,8 @@ TAO_Export void operator<<= (CORBA_Any_var &, CORBA::Any::from_octet); TAO_Export void operator<<= (CORBA_Any_var &, CORBA::Any::from_string); +TAO_Export void operator<<= (CORBA_Any_var &, + CORBA::Any::from_wstring); // These are not required by the spec, but will make users // of other ORBs that are used to them more comfortable. @@ -591,6 +567,8 @@ TAO_Export CORBA::Boolean operator>>= (CORBA_Any_var &, TAO_Export CORBA::Boolean operator>>= (CORBA_Any_var &, CORBA::Any::to_string); TAO_Export CORBA::Boolean operator>>= (CORBA_Any_var &, + CORBA::Any::to_wstring); +TAO_Export CORBA::Boolean operator>>= (CORBA_Any_var &, CORBA::Any::to_object); #endif /* __ACE_INLINE__ */ diff --git a/TAO/tao/Any.i b/TAO/tao/Any.i index e660d9ba247..7b368c0bfcf 100644 --- a/TAO/tao/Any.i +++ b/TAO/tao/Any.i @@ -210,6 +210,12 @@ operator <<= (CORBA_Any_var &lhs, CORBA::Any::from_string rhs) lhs.inout () <<= rhs; } +ACE_INLINE void +operator <<= (CORBA_Any_var &lhs, CORBA::Any::from_wstring rhs) +{ + lhs.inout () <<= rhs; +} + // ************************************************************* // CORBA_Any_var extraction operators // ************************************************************* @@ -317,6 +323,12 @@ operator >>= (CORBA_Any_var &lhs, CORBA::Any::to_string rhs) } ACE_INLINE CORBA::Boolean +operator >>= (CORBA_Any_var &lhs, CORBA::Any::to_wstring rhs) +{ + return lhs.inout () >>= rhs; +} + +ACE_INLINE CORBA::Boolean operator >>= (CORBA_Any_var &lhs, CORBA::Any::to_object rhs) { return lhs.inout () >>= rhs; diff --git a/TAO/tao/DomainC.cpp b/TAO/tao/DomainC.cpp index 36dd9aa1123..079f9c46d9d 100644 --- a/TAO/tao/DomainC.cpp +++ b/TAO/tao/DomainC.cpp @@ -230,8 +230,10 @@ void *CORBA_DomainManager::_tao_QueryInterface (ptr_arith_t type) &CORBA_DomainManager::_narrow)) retv = ACE_reinterpret_cast (void*, this); else if (type == ACE_reinterpret_cast (ptr_arith_t, &CORBA::Object::_narrow)) - retv = ACE_reinterpret_cast (void *, - ACE_static_cast (CORBA::Object_ptr, this)); + retv = ACE_reinterpret_cast ( + void *, + ACE_static_cast (CORBA::Object_ptr, this) + ); if (retv) this->_add_ref (); @@ -245,52 +247,65 @@ const char* CORBA_DomainManager::_interface_repository_id (void) const #if (TAO_HAS_INTERCEPTORS == 1) -CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy (const char *_tao_operation, -IOP::ServiceContextList &_tao_service_context_list, -CORBA::Object *_tao_target,CORBA::PolicyType& policy_type, -CORBA::Environment &) - : TAO_ClientRequest_Info (_tao_operation, _tao_service_context_list, _tao_target),policy_type_ (policy_type) + +CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy ( + const char *_tao_operation, + IOP::ServiceContextList &_tao_service_context_list, + CORBA::Object *_tao_target, + CORBA::PolicyType &policy_type, + CORBA::Environment & + ) + : TAO_ClientRequest_Info ( + _tao_operation, + _tao_service_context_list, + _tao_target + ), + policy_type_ (policy_type) {} Dynamic::ParameterList * CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::arguments (CORBA::Environment &) ACE_THROW_SPEC ((CORBA::SystemException)) { - // Generate the arg list on demand + // Generate the arg list on demand CORBA::ULong length = 0; - length = this->parameter_list_.length (); - this->parameter_list_.length (length + 1); - this->parameter_list_[length].argument <<= this->policy_type_; + length = this->parameter_list_.length (); + this->parameter_list_.length (length + 1); + this->parameter_list_[length].argument <<= this->policy_type_; - this->parameter_list_[length].mode = Dynamic::PARAM_IN; + this->parameter_list_[length].mode = Dynamic::PARAM_IN; - return &this->parameter_list_; + return &this->parameter_list_; } - Dynamic::ExceptionList * - CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::exceptions (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the exception list on demand - return 0; +Dynamic::ExceptionList * +CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::exceptions ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand + return 0; } - CORBA::Any * - CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::result (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the result on demand : - this->result_val_ <<= this->result_; +CORBA::Any * +CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::result ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand : + this->result_val_ <<= this->result_; return &this->result_val_; - } +} void CORBA_DomainManager::TAO_ClientRequest_Info_CORBA_DomainManager_get_domain_policy::result (CORBA::Policy_ptr result) - { +{ // update the result - this->result_ = result; - } + this->result_ = result; +} #endif /* TAO_HAS_INTERCEPTORS */ @@ -383,11 +398,12 @@ void CORBA_ConstructionPolicy::make_domain_manager ( )) { #if (TAO_HAS_INTERFACE_REPOSITORY == 0) + ACE_UNUSED_ARG (object_type); ACE_UNUSED_ARG (constr_policy); ACE_THROW (CORBA::NO_IMPLEMENT ()); -#else // TAO_HAS_INTERFACE_REPOSITORY +#else // TAO_HAS_INTERFACE_REPOSITORY TAO_Stub *istub = this->_stubobj (); if (istub == 0) @@ -402,79 +418,87 @@ void CORBA_ConstructionPolicy::make_domain_manager ( ); #if (TAO_HAS_INTERCEPTORS == 1) - TAO_ClientRequestInterceptor_Adapter - _tao_vfr (istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV)); - ACE_CHECK; - CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ri ("make_domain_manager", -_tao_call.service_info (), - this , object_type , constr_policy , - ACE_TRY_ENV); - ACE_CHECK; + + TAO_ClientRequestInterceptor_Adapter _tao_vfr ( + istub->orb_core ()->orb ()->_get_client_interceptor (ACE_TRY_ENV) + ); + ACE_CHECK; + CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ri ( + "make_domain_manager", + _tao_call.service_info (), + this, + object_type, + constr_policy, + ACE_TRY_ENV + ); + ACE_CHECK; ACE_TRY { #endif /* TAO_HAS_INTERCEPTORS */ - for (;;) - { - _tao_call.start (ACE_TRY_ENV); - TAO_INTERCEPTOR_CHECK; - - TAO_INTERCEPTOR ( - ri.request_id (_tao_call.request_id ()); - _tao_vfr.send_request ( - &ri, - ACE_TRY_ENV - ) - ); - TAO_INTERCEPTOR_CHECK; - CORBA::Short _tao_response_flag = TAO_TWOWAY_RESPONSE_FLAG; - - _tao_call.prepare_header ( - ACE_static_cast (CORBA::Octet, _tao_response_flag), ACE_TRY_ENV - ); - TAO_INTERCEPTOR_CHECK; - - TAO_OutputCDR &_tao_out = _tao_call.out_stream (); - if (!( - (_tao_out << object_type) && - (_tao_out << CORBA::Any::from_boolean (constr_policy)) - )) - TAO_INTERCEPTOR_THROW (CORBA::MARSHAL()); - int _invoke_status = - _tao_call.invoke (0, 0, ACE_TRY_ENV); - TAO_INTERCEPTOR_CHECK; + for (;;) + { + _tao_call.start (ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + TAO_INTERCEPTOR ( + ri.request_id (_tao_call.request_id ()); + _tao_vfr.send_request ( + &ri, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + CORBA::Short _tao_response_flag = TAO_TWOWAY_RESPONSE_FLAG; - if (_invoke_status == TAO_INVOKE_RESTART) - continue; - if (_invoke_status != TAO_INVOKE_OK) - { - TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN(TAO_DEFAULT_MINOR_CODE, CORBA::COMPLETED_YES)); - } + _tao_call.prepare_header ( + ACE_static_cast (CORBA::Octet, _tao_response_flag), ACE_TRY_ENV + ); + TAO_INTERCEPTOR_CHECK; + + TAO_OutputCDR &_tao_out = _tao_call.out_stream (); + if (!( + (_tao_out << object_type) && + (_tao_out << CORBA::Any::from_boolean (constr_policy)) + )) + TAO_INTERCEPTOR_THROW (CORBA::MARSHAL()); + int _invoke_status = + _tao_call.invoke (0, 0, ACE_TRY_ENV); + TAO_INTERCEPTOR_CHECK; + + if (_invoke_status == TAO_INVOKE_RESTART) + continue; + if (_invoke_status != TAO_INVOKE_OK) + { + TAO_INTERCEPTOR_THROW (CORBA::UNKNOWN(TAO_DEFAULT_MINOR_CODE, + CORBA::COMPLETED_YES)); + } + + TAO_INTERCEPTOR ( + _tao_vfr.receive_reply ( + &ri, + ACE_TRY_ENV + ) + ); + TAO_INTERCEPTOR_CHECK; + break; + } - TAO_INTERCEPTOR ( - _tao_vfr.receive_reply ( - &ri, - ACE_TRY_ENV - ) - ); - TAO_INTERCEPTOR_CHECK; - break; +#if (TAO_HAS_INTERCEPTORS == 1) } -#if (TAO_HAS_INTERCEPTORS == 1) + ACE_CATCHANY + { + ri.exception (&ACE_ANY_EXCEPTION); + _tao_vfr.receive_exception ( + &ri, + ACE_TRY_ENV + ); + ACE_RE_THROW; + } + ACE_ENDTRY; + ACE_CHECK; - } -ACE_CATCHANY - { - ri.exception (&ACE_ANY_EXCEPTION); - _tao_vfr.receive_exception ( - &ri, - ACE_TRY_ENV - ); - ACE_RE_THROW; - } -ACE_ENDTRY; -ACE_CHECK; #endif /* TAO_HAS_INTERCEPTORS */ #endif /* TAO_HAS_INTERFACE_REPOSITORY */ @@ -526,51 +550,66 @@ const char* CORBA_ConstructionPolicy::_interface_repository_id (void) const #if (TAO_HAS_INTERCEPTORS == 1) && (TAO_HAS_INTERFACE_REPOSITORY == 1) -CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager (const char *_tao_operation, -IOP::ServiceContextList &_tao_service_context_list, -CORBA::Object *_tao_target,IR_InterfaceDef* object_type,CORBA::Boolean constr_policy, -CORBA::Environment &) - : TAO_ClientRequest_Info (_tao_operation, _tao_service_context_list, _tao_target),object_type_ (object_type),constr_policy_ (constr_policy) + +CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ( + const char *_tao_operation, + IOP::ServiceContextList &_tao_service_context_list, + CORBA::Object *_tao_target, + IR_InterfaceDef *object_type, + CORBA::Boolean &constr_policy, + CORBA::Environment & + ) + : TAO_ClientRequest_Info ( + _tao_operation, + _tao_service_context_list, + _tao_target + ), + object_type_ (object_type), + constr_policy_ (constr_policy) {} Dynamic::ParameterList * CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::arguments (CORBA::Environment &) ACE_THROW_SPEC ((CORBA::SystemException)) { - // Generate the arg list on demand + // Generate the arg list on demand CORBA::ULong length = 0; - length = this->parameter_list_.length (); - this->parameter_list_.length (length + 1); - this->parameter_list_[length].argument <<= this->object_type_; + length = this->parameter_list_.length (); + this->parameter_list_.length (length + 1); + this->parameter_list_[length].argument <<= this->object_type_; - this->parameter_list_[length].mode = Dynamic::PARAM_IN; - length = this->parameter_list_.length (); - this->parameter_list_.length (length + 1); - this->parameter_list_[length].argument <<= CORBA::Any::from_boolean (this->constr_policy_ ); - this->parameter_list_[length].mode = Dynamic::PARAM_IN; + this->parameter_list_[length].mode = Dynamic::PARAM_IN; + length = this->parameter_list_.length (); + this->parameter_list_.length (length + 1); + this->parameter_list_[length].argument <<= CORBA::Any::from_boolean (this->constr_policy_ ); + this->parameter_list_[length].mode = Dynamic::PARAM_IN; - return &this->parameter_list_; + return &this->parameter_list_; } - Dynamic::ExceptionList * - CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::exceptions (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the exception list on demand - return 0; +Dynamic::ExceptionList * +CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::exceptions ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand + return 0; } - CORBA::Any * - CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::result (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the result on demand : - CORBA::TypeCode tc (CORBA::tk_void); - this->result_val_.type (&tc); +CORBA::Any * +CORBA_ConstructionPolicy::TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::result ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand : + CORBA::TypeCode tc (CORBA::tk_void); + this->result_val_.type (&tc); - return &this->result_val_; - } + return &this->result_val_; +} #endif /* TAO_HAS_INTERCEPTORS && TAO_HAS_INTERFACE_REPOSITORY */ diff --git a/TAO/tao/DomainC.h b/TAO/tao/DomainC.h index 69f7135ac74..ce6be1cb9b6 100644 --- a/TAO/tao/DomainC.h +++ b/TAO/tao/DomainC.h @@ -322,46 +322,56 @@ protected: private: CORBA_ConstructionPolicy (const CORBA_ConstructionPolicy &); void operator= (const CORBA_ConstructionPolicy &); + #if (TAO_HAS_INTERCEPTORS == 1) && (TAO_HAS_INTERFACE_REPOSITORY == 1) - // Generation of interceptors related RequestInfo classes per operation. + // Generation of interceptors related RequestInfo classes per operation. // This needed to be able to store the arguments, exceptiosn, constexts // and build the lists dynamically on demand so that unnecessary time overhead // of building these lists when they arent used is avoided. - class TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager : public TAO_ClientRequest_Info + class TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager + : public TAO_ClientRequest_Info { public: friend class CORBA_ConstructionPolicy; TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ( - const char *_tao_operation, - IOP::ServiceContextList &_tao_service_context_list, - CORBA::Object *_tao_target , IR_InterfaceDef* object_type , CORBA::Boolean constr_policy , + const char *_tao_operation, + IOP::ServiceContextList &_tao_service_context_list, + CORBA::Object *_tao_target, + IR_InterfaceDef *object_type, + CORBA::Boolean &constr_policy, CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment () - ); + TAO_default_environment () + ); - virtual Dynamic::ParameterList * arguments ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + virtual Dynamic::ParameterList * arguments ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC ((CORBA::SystemException)); virtual Dynamic::ExceptionList * exceptions ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); - -virtual CORBA::Any * result ( - CORBA::Environment &ACE_TRY_ENV = - TAO_default_environment ()) - ACE_THROW_SPEC ((CORBA::SystemException)); + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC ((CORBA::SystemException)); + virtual CORBA::Any * result ( + CORBA::Environment &ACE_TRY_ENV = + TAO_default_environment () + ) + ACE_THROW_SPEC ((CORBA::SystemException)); -private: -TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager (const TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager &); -void operator= (const TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager &); -IR_InterfaceDef* & object_type_; -CORBA::Boolean & constr_policy_; -}; + private: + TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ( + const TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager & + ); + void operator= ( + const TAO_ClientRequest_Info_CORBA_ConstructionPolicy_make_domain_manager & + ); + IR_InterfaceDef *object_type_; + CORBA::Boolean &constr_policy_; + }; #endif /* TAO_HAS_INTERCEPTORS && TAO_HAS_INTERFACE_REPOSITORY */ diff --git a/TAO/tao/PortableServer/DomainS.cpp b/TAO/tao/PortableServer/DomainS.cpp index cf691bad13e..9ec89248e7f 100644 --- a/TAO/tao/PortableServer/DomainS.cpp +++ b/TAO/tao/PortableServer/DomainS.cpp @@ -1026,50 +1026,64 @@ void POA_CORBA__tao_thru_poa_collocated_ConstructionPolicy::make_domain_manager } #if (TAO_HAS_INTERCEPTORS == 1) && (TAO_HAS_INTERFACE_REPOSITORY == 1) -POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager (const char *_tao_operation, -IOP::ServiceContextList &_tao_service_context_list,IR_InterfaceDef* object_type,CORBA::Boolean constr_policy, -CORBA::Environment &) - : TAO_ServerRequest_Info (_tao_operation, _tao_service_context_list),object_type_ (object_type),constr_policy_ (constr_policy) + +POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ( + const char *_tao_operation, + IOP::ServiceContextList &_tao_service_context_list, + IR_InterfaceDef_ptr object_type, + CORBA::Boolean &constr_policy, + CORBA::Environment & + ) + : TAO_ServerRequest_Info ( + _tao_operation, + _tao_service_context_list + ), + object_type_ (object_type), + constr_policy_ (constr_policy) {} Dynamic::ParameterList * POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::arguments (CORBA::Environment &) ACE_THROW_SPEC ((CORBA::SystemException)) { - // Generate the arg list on demand + // Generate the arg list on demand CORBA::ULong length = 0; - length = this->parameter_list_.length (); - this->parameter_list_.length (length + 1); - this->parameter_list_[length].argument <<= this->object_type_; + length = this->parameter_list_.length (); + this->parameter_list_.length (length + 1); + this->parameter_list_[length].argument <<= this->object_type_; - this->parameter_list_[length].mode = Dynamic::PARAM_IN; - length = this->parameter_list_.length (); - this->parameter_list_.length (length + 1); - this->parameter_list_[length].argument <<= CORBA::Any::from_boolean (this->constr_policy_ ); - this->parameter_list_[length].mode = Dynamic::PARAM_IN; + this->parameter_list_[length].mode = Dynamic::PARAM_IN; + length = this->parameter_list_.length (); + this->parameter_list_.length (length + 1); + this->parameter_list_[length].argument <<= CORBA::Any::from_boolean (this->constr_policy_); + this->parameter_list_[length].mode = Dynamic::PARAM_IN; - return &this->parameter_list_; + return &this->parameter_list_; } - Dynamic::ExceptionList * - POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::exceptions (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the exception list on demand - return 0; +Dynamic::ExceptionList * +POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::exceptions ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the exception list on demand + return 0; } - CORBA::Any * - POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::result (CORBA::Environment &) - ACE_THROW_SPEC ((CORBA::SystemException)) - { - // Generate the result on demand - CORBA::TypeCode tc (CORBA::tk_void); +CORBA::Any * +POA_CORBA_ConstructionPolicy::TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager::result ( + CORBA::Environment & + ) + ACE_THROW_SPEC ((CORBA::SystemException)) +{ + // Generate the result on demand + CORBA::TypeCode tc (CORBA::tk_void); this->result_val_.type (&tc); return &this->result_val_; - } +} #endif /* TAO_HAS_INTERCEPTORS && TAO_HAS_INTERFACE_REPOSITORY */ diff --git a/TAO/tao/PortableServer/DomainS.h b/TAO/tao/PortableServer/DomainS.h index 32e86144b41..0a0fdf4ec46 100644 --- a/TAO/tao/PortableServer/DomainS.h +++ b/TAO/tao/PortableServer/DomainS.h @@ -382,10 +382,10 @@ public: public: friend class POA_CORBA_ConstructionPolicy; TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager ( - const char * _tao_operation, + const char *_tao_operation, IOP::ServiceContextList &_tao_service_context_list, - IR_InterfaceDef* object_type, - CORBA::Boolean constr_policy, + IR_InterfaceDef_ptr object_type, + CORBA::Boolean &constr_policy, CORBA::Environment &ACE_TRY_ENV = TAO_default_environment () ); @@ -415,8 +415,8 @@ public: void operator= ( const TAO_ServerRequest_Info_CORBA_ConstructionPolicy_make_domain_manager & ); - IR_InterfaceDef* & object_type_; - CORBA::Boolean & constr_policy_; + IR_InterfaceDef_ptr object_type_; + CORBA::Boolean &constr_policy_; }; #endif /* TAO_HAS_INTERCEPTORS */ diff --git a/TAO/tao/ifrfwd.h b/TAO/tao/ifrfwd.h index b4b5082ac45..6124799f184 100644 --- a/TAO/tao/ifrfwd.h +++ b/TAO/tao/ifrfwd.h @@ -450,7 +450,7 @@ TAO_NAMESPACE IR typedef CORBA::String_out ContextIdentifier_out; TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_ContextIdentifier; - enum TAO_Export DefinitionKind + enum DefinitionKind { dk_none, dk_all, |