Any.cpp File Reference

#include "tao/AnyTypeCode/Any.h"
#include "tao/AnyTypeCode/Any_Basic_Impl.h"
#include "tao/AnyTypeCode/Any_Impl_T.h"
#include "tao/AnyTypeCode/Any_Special_Impl_T.h"
#include "tao/AnyTypeCode/Any_Dual_Impl_T.h"
#include "tao/AnyTypeCode/Any_Unknown_IDL_Type.h"
#include "tao/AnyTypeCode/TypeCode.h"
#include "tao/AnyTypeCode/TypeCode_Constants.h"
#include "tao/CDR.h"
#include "tao/SystemException.h"
#include "ace/Log_Msg.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_wchar.h"
#include "ace/OS_Memory.h"

Include dependency graph for Any.cpp:

Include dependency graph

Go to the source code of this file.

Namespaces

namespace  TAO

Functions

CORBA::Boolean operator<< (TAO_OutputCDR &cdr, const CORBA::Any &any)
CORBA::Boolean operator>> (TAO_InputCDR &cdr, CORBA::Any &any)
void operator<<= (CORBA::Any &any, CORBA::Short s)
 Typesafe insertion.

void operator<<= (CORBA::Any &any, CORBA::UShort us)
void operator<<= (CORBA::Any &any, CORBA::Long l)
void operator<<= (CORBA::Any &any, CORBA::ULong ul)
void operator<<= (CORBA::Any &any, CORBA::LongLong ll)
void operator<<= (CORBA::Any &any, CORBA::ULongLong ull)
void operator<<= (CORBA::Any &any, CORBA::Float f)
void operator<<= (CORBA::Any &any, CORBA::Double d)
void operator<<= (CORBA::Any &any, CORBA::LongDouble ld)
void operator<<= (CORBA::Any &any, const CORBA::Any &a)
void operator<<= (CORBA::Any &any, CORBA::Any *a)
void operator<<= (CORBA::Any &any, CORBA::TypeCode_ptr tc)
void operator<<= (CORBA::Any &any, CORBA::TypeCode_ptr *tc)
void operator<<= (CORBA::Any &any, const CORBA::Object_ptr obj)
void operator<<= (CORBA::Any &any, CORBA::Object_ptr *objptr)
void operator<<= (CORBA::Any &any, const char *s)
void operator<<= (CORBA::Any &any, const CORBA::WChar *ws)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::Short &s)
 Typesafe extraction.

CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::UShort &us)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::Long &l)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::ULong &ul)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::LongLong &ll)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::ULongLong &ull)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::Float &f)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::Double &d)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::LongDouble &ld)
CORBA::Boolean operator>>= (const CORBA::Any &any, const CORBA::Any *&a)
CORBA::Boolean operator>>= (const CORBA::Any &any, const CORBA::Char *&s)
CORBA::Boolean operator>>= (const CORBA::Any &any, const CORBA::WChar *&ws)
CORBA::Boolean operator>>= (const CORBA::Any &any, CORBA::TypeCode_ptr &tc)


Function Documentation

CORBA::Boolean operator<< TAO_OutputCDR cdr,
const CORBA::Any any
 

Definition at line 253 of file Any.cpp.

00254 {
00255   TAO::Any_Impl *impl = any.impl ();
00256 
00257   if (impl != 0)
00258     {
00259       return impl->marshal (cdr);
00260     }
00261 
00262   return (cdr << CORBA::_tc_null);
00263 }

void operator<<= CORBA::Any any,
const CORBA::WChar ws
 

Definition at line 506 of file Any.cpp.

00507 {
00508   TAO::Any_Special_Impl_T<
00509       CORBA::WChar,
00510       CORBA::Any::from_wstring,
00511       CORBA::Any::to_wstring
00512     >::insert (any,
00513                TAO::Any_Impl::_tao_any_wstring_destructor,
00514                CORBA::_tc_wstring,
00515                CORBA::wstring_dup (ws),
00516                0);
00517 }

void operator<<= CORBA::Any any,
const char *  s
 

Definition at line 492 of file Any.cpp.

00493 {
00494   TAO::Any_Special_Impl_T<
00495       char,
00496       CORBA::Any::from_string,
00497       CORBA::Any::to_string
00498     >::insert (any,
00499                TAO::Any_Impl::_tao_any_string_destructor,
00500                CORBA::_tc_string,
00501                CORBA::string_dup (s),
00502                0);
00503 }

void operator<<= CORBA::Any any,
CORBA::Object_ptr objptr
 

Definition at line 480 of file Any.cpp.

00481 {
00482   TAO::Any_Impl_T<CORBA::Object>::insert (any,
00483                                           CORBA::Object::_tao_any_destructor,
00484                                           CORBA::_tc_Object,
00485                                           *objptr);
00486 }

void operator<<= CORBA::Any any,
const CORBA::Object_ptr  obj
 

Definition at line 472 of file Any.cpp.

00473 {
00474   CORBA::Object_ptr dup = CORBA::Object::_duplicate (obj);
00475   any <<= &dup;
00476 }

void operator<<= CORBA::Any any,
CORBA::TypeCode_ptr tc
 

Definition at line 460 of file Any.cpp.

00461 {
00462   TAO::Any_Impl_T<CORBA::TypeCode>::insert (
00463       any,
00464       CORBA::TypeCode::_tao_any_destructor,
00465       CORBA::_tc_TypeCode,
00466       *tc
00467     );
00468 }

void operator<<= CORBA::Any any,
CORBA::TypeCode_ptr  tc
 

Definition at line 452 of file Any.cpp.

00453 {
00454   CORBA::TypeCode_ptr dup = CORBA::TypeCode::_duplicate (tc);
00455   any <<= &dup;
00456 }

void operator<<= CORBA::Any any,
CORBA::Any a
 

Definition at line 442 of file Any.cpp.

00443 {
00444   TAO::Any_Dual_Impl_T<CORBA::Any>::insert (any,
00445                                             CORBA::Any::_tao_any_destructor,
00446                                             CORBA::_tc_any,
00447                                             a);
00448 }

void operator<<= CORBA::Any any,
const CORBA::Any a
 

Definition at line 427 of file Any.cpp.

00428 {
00429   if (0 == &a) // Trying to de-reference NULL Any
00430     any <<= static_cast<CORBA::Any *>( 0 ); // Use non-copying insertion of a NULL
00431   else
00432     TAO::Any_Dual_Impl_T<CORBA::Any>::insert_copy (
00433         any,
00434         CORBA::Any::_tao_any_destructor,
00435         CORBA::_tc_any,
00436         a
00437       );
00438 }

void operator<<= CORBA::Any any,
CORBA::LongDouble  ld
 

Definition at line 420 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00421 {
00422   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_longdouble, &ld);
00423 }

void operator<<= CORBA::Any any,
CORBA::Double  d
 

Definition at line 414 of file Any.cpp.

00415 {
00416   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_double, &d);
00417 }

void operator<<= CORBA::Any any,
CORBA::Float  f
 

Definition at line 408 of file Any.cpp.

00409 {
00410   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_float, &f);
00411 }

void operator<<= CORBA::Any any,
CORBA::ULongLong  ull
 

Definition at line 402 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00403 {
00404   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_ulonglong, &ull);
00405 }

void operator<<= CORBA::Any any,
CORBA::LongLong  ll
 

Definition at line 396 of file Any.cpp.

References TAO::Any_Basic_Impl::insert().

00397 {
00398   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_longlong, &ll);
00399 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any any,
CORBA::ULong  ul
 

Definition at line 390 of file Any.cpp.

00391 {
00392   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_ulong, &ul);
00393 }

TAO_AnyTypeCode_Export void operator<<= CORBA::Any any,
CORBA::Long  l
 

Definition at line 384 of file Any.cpp.

00385 {
00386   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_long, &l);
00387 }

void operator<<= CORBA::Any any,
CORBA::UShort  us
 

Definition at line 378 of file Any.cpp.

00379 {
00380   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_ushort, &us);
00381 }

void operator<<= CORBA::Any any,
CORBA::Short  s
 

Typesafe insertion.

Definition at line 372 of file Any.cpp.

00373 {
00374   TAO::Any_Basic_Impl::insert (any, CORBA::_tc_short, &s);
00375 }

CORBA::Boolean operator>> TAO_InputCDR cdr,
CORBA::Any any
 

Definition at line 266 of file Any.cpp.

00267 {
00268   CORBA::TypeCode_var tc;
00269 
00270   if ((cdr >> tc.out ()) == 0)
00271     {
00272       return false;
00273     }
00274 
00275   try
00276     {
00277       TAO::Unknown_IDL_Type *impl = 0;
00278       ACE_NEW_RETURN (impl,
00279                       TAO::Unknown_IDL_Type (tc.in ()),
00280                       false);
00281 
00282       any.replace (impl);
00283       impl->_tao_decode (cdr);
00284     }
00285   catch (const ::CORBA::Exception&)
00286     {
00287       return false;
00288     }
00289 
00290   return true;
00291 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::TypeCode_ptr tc
 

Definition at line 714 of file Any.cpp.

00715 {
00716   return TAO::Any_Impl_T<CORBA::TypeCode>::extract (
00717       any,
00718       CORBA::TypeCode::_tao_any_destructor,
00719       CORBA::_tc_TypeCode,
00720       tc
00721     );
00722 }

CORBA::Boolean operator>>= const CORBA::Any any,
const CORBA::WChar *&  ws
 

Definition at line 699 of file Any.cpp.

00700 {
00701   return
00702     TAO::Any_Special_Impl_T<
00703         CORBA::WChar,
00704         CORBA::Any::from_wstring,
00705         CORBA::Any::to_wstring
00706       >::extract (any,
00707                   TAO::Any_Impl::_tao_any_wstring_destructor,
00708                   CORBA::_tc_wstring,
00709                   ws,
00710                   0);
00711 }

CORBA::Boolean operator>>= const CORBA::Any any,
const CORBA::Char *&  s
 

Definition at line 684 of file Any.cpp.

00685 {
00686   return
00687     TAO::Any_Special_Impl_T<
00688         char,
00689         CORBA::Any::from_string,
00690         CORBA::Any::to_string
00691       >::extract (any,
00692                   TAO::Any_Impl::_tao_any_string_destructor,
00693                   CORBA::_tc_string,
00694                   s,
00695                   0);
00696 }

CORBA::Boolean operator>>= const CORBA::Any any,
const CORBA::Any *&  a
 

Definition at line 673 of file Any.cpp.

00674 {
00675   return TAO::Any_Dual_Impl_T<CORBA::Any>::extract (
00676       any,
00677       CORBA::Any::_tao_any_destructor,
00678       CORBA::_tc_any,
00679       a
00680     );
00681 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::LongDouble ld
 

Definition at line 664 of file Any.cpp.

00665 {
00666   return
00667     TAO::Any_Basic_Impl::extract (any,
00668                                   CORBA::_tc_longdouble,
00669                                   &ld);
00670 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::Double d
 

Definition at line 656 of file Any.cpp.

00657 {
00658   return TAO::Any_Basic_Impl::extract (any,
00659                                        CORBA::_tc_double,
00660                                        &d);
00661 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::Float f
 

Definition at line 648 of file Any.cpp.

00649 {
00650   return TAO::Any_Basic_Impl::extract (any,
00651                                        CORBA::_tc_float,
00652                                        &f);
00653 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::ULongLong ull
 

Definition at line 639 of file Any.cpp.

00640 {
00641   return
00642     TAO::Any_Basic_Impl::extract (any,
00643                                   CORBA::_tc_ulonglong,
00644                                   &ull);
00645 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::LongLong ll
 

Definition at line 630 of file Any.cpp.

00631 {
00632   return
00633     TAO::Any_Basic_Impl::extract (any,
00634                                   CORBA::_tc_longlong,
00635                                   &ll);
00636 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::ULong ul
 

Definition at line 622 of file Any.cpp.

00623 {
00624   return TAO::Any_Basic_Impl::extract (any,
00625                                        CORBA::_tc_ulong,
00626                                        &ul);
00627 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::Long l
 

Definition at line 614 of file Any.cpp.

00615 {
00616   return TAO::Any_Basic_Impl::extract (any,
00617                                        CORBA::_tc_long,
00618                                        &l);
00619 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::UShort us
 

Definition at line 606 of file Any.cpp.

00607 {
00608   return TAO::Any_Basic_Impl::extract (any,
00609                                        CORBA::_tc_ushort,
00610                                        &us);
00611 }

CORBA::Boolean operator>>= const CORBA::Any any,
CORBA::Short s
 

Typesafe extraction.

Definition at line 600 of file Any.cpp.

00601 {
00602   return TAO::Any_Basic_Impl::extract (any, CORBA::_tc_short, &s);
00603 }


Generated on Sun Jan 27 13:21:09 2008 for TAO_AnyTypeCode by doxygen 1.3.6