diff options
author | bala <balanatarajan@users.noreply.github.com> | 2000-08-05 13:15:57 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2000-08-05 13:15:57 +0000 |
commit | 0e39dd45e5c58320c64ddc21191814db3fab2ed1 (patch) | |
tree | f3702260acb0166c324f2de792de3051bc67ccfd | |
parent | 4a12aad2d6e5d8cd85bc1fab8c2b0aae96baf969 (diff) | |
download | ATCD-0e39dd45e5c58320c64ddc21191814db3fab2ed1.tar.gz |
*** empty log message ***
-rw-r--r-- | TAO/tao/FT_CORBA_ServiceC.cpp | 94 | ||||
-rw-r--r-- | TAO/tao/FT_CORBA_ServiceC.h | 9 | ||||
-rw-r--r-- | TAO/tao/TAO.dsp | 27 |
3 files changed, 130 insertions, 0 deletions
diff --git a/TAO/tao/FT_CORBA_ServiceC.cpp b/TAO/tao/FT_CORBA_ServiceC.cpp index ebd09705f4a..d4fedc1e666 100644 --- a/TAO/tao/FT_CORBA_ServiceC.cpp +++ b/TAO/tao/FT_CORBA_ServiceC.cpp @@ -9856,6 +9856,100 @@ CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const FT_Properties *&_t return 0; } + +// Hack for FT_Name and not a good one at that. + +void operator<<= ( + CORBA::Any &_tao_any, + const FT_Name &_tao_elem + ) // copying +{ + TAO_OutputCDR stream; + if (stream << _tao_elem) + { + _tao_any._tao_replace ( + FT::_tc_Name, + TAO_ENCAP_BYTE_ORDER, + stream.begin () + ); + } +} + +void operator<<= (CORBA::Any &_tao_any, + FT_Name *_tao_elem) // non copying +{ + TAO_OutputCDR stream; + stream << *_tao_elem; + _tao_any._tao_replace ( + FT::_tc_Name, + TAO_ENCAP_BYTE_ORDER, + stream.begin (), + 1, + _tao_elem, + FT::Name::_tao_any_destructor + ); +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, FT::Name *&_tao_elem) +{ + return _tao_any >>= ACE_const_cast( + const FT::Name*&, + _tao_elem + ); +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, const FT::Name *&_tao_elem) +{ + _tao_elem = 0; + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (FT::_tc_Name, ACE_TRY_ENV)) // not equal + { + return 0; + } + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = ACE_static_cast( + const FT::Name*, + _tao_any.value () + ); + return 1; + } + else + { + FT::Name *tmp; + ACE_NEW_RETURN (tmp, FT::Name, 0); + TAO_InputCDR stream ( + _tao_any._tao_get_cdr (), + _tao_any._tao_byte_order () + ); + if (stream >> *tmp) + { + ((CORBA::Any *)&_tao_any)->_tao_replace ( + FT::_tc_Name, + 1, + ACE_static_cast (void *, tmp), + FT::Name::_tao_any_destructor + ); + _tao_elem = tmp; + return 1; + } + else + { + delete tmp; + } + } + } + ACE_CATCHANY + { + } + ACE_ENDTRY; + return 0; +} + + void operator<<= ( CORBA::Any &_tao_any, const FT_Locations &_tao_elem diff --git a/TAO/tao/FT_CORBA_ServiceC.h b/TAO/tao/FT_CORBA_ServiceC.h index 76e926b5043..6856516e73f 100644 --- a/TAO/tao/FT_CORBA_ServiceC.h +++ b/TAO/tao/FT_CORBA_ServiceC.h @@ -2564,6 +2564,15 @@ TAO_Export void operator<<= (CORBA::Any &, const FT::Properties &); // copying v TAO_Export void operator<<= (CORBA::Any &, FT::Properties*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, FT::Properties *&); // deprecated TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const FT::Properties *&); + +// Goofiness for FT_Name. This is just a hack and not a good one at +// that. +TAO_Export void operator<<= (CORBA::Any &, const FT::Name &); // copying version +TAO_Export void operator<<= (CORBA::Any &, FT::Name*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, FT::Name *&); // deprecated +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, const FT::Name *&); +// End Goofiness + TAO_Export void operator<<= (CORBA::Any &, const FT::Locations &); // copying version TAO_Export void operator<<= (CORBA::Any &, FT::Locations*); // noncopying version TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, FT::Locations *&); // deprecated diff --git a/TAO/tao/TAO.dsp b/TAO/tao/TAO.dsp index dbce783f05a..8f7ccca0814 100644 --- a/TAO/tao/TAO.dsp +++ b/TAO/tao/TAO.dsp @@ -993,6 +993,25 @@ SOURCE=.\FT_CORBAC.cpp # End Source File
# Begin Source File
+SOURCE=.\FT_CORBAS.cpp
+
+!IF "$(CFG)" == "TAO DLL - Win32 Alpha Release"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Alpha Debug"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Release"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 MFC Debug"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Release"
+
+!ELSEIF "$(CFG)" == "TAO DLL - Win32 Debug"
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=.\GIOP_Message_Accept_State.cpp
!IF "$(CFG)" == "TAO DLL - Win32 Alpha Release"
@@ -3543,6 +3562,10 @@ SOURCE=.\FT_CORBAC.h # End Source File
# Begin Source File
+SOURCE=.\FT_CORBAS.h
+# End Source File
+# Begin Source File
+
SOURCE=.\giop.h
# End Source File
# Begin Source File
@@ -4119,6 +4142,10 @@ SOURCE=.\FT_CORBAC.i # End Source File
# Begin Source File
+SOURCE=.\FT_CORBAS.i
+# End Source File
+# Begin Source File
+
SOURCE=.\giop.i
# End Source File
# Begin Source File
|