summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2000-08-05 13:15:57 +0000
committerbala <balanatarajan@users.noreply.github.com>2000-08-05 13:15:57 +0000
commit0e39dd45e5c58320c64ddc21191814db3fab2ed1 (patch)
treef3702260acb0166c324f2de792de3051bc67ccfd
parent4a12aad2d6e5d8cd85bc1fab8c2b0aae96baf969 (diff)
downloadATCD-0e39dd45e5c58320c64ddc21191814db3fab2ed1.tar.gz
*** empty log message ***
-rw-r--r--TAO/tao/FT_CORBA_ServiceC.cpp94
-rw-r--r--TAO/tao/FT_CORBA_ServiceC.h9
-rw-r--r--TAO/tao/TAO.dsp27
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