Profile.cpp File Reference

#include "tao/Profile.h"
#include "tao/Messaging_PolicyValueC.h"
#include "tao/Stub.h"
#include "tao/debug.h"
#include "tao/target_specification.h"
#include "tao/ORB_Core.h"
#include "tao/Client_Strategy_Factory.h"
#include "tao/CDR.h"
#include "tao/SystemException.h"
#include "tao/PolicyC.h"
#include "tao/Endpoint.h"
#include "ace/ACE.h"
#include "ace/OS_NS_string.h"
#include "ace/OS_NS_ctype.h"
Include dependency graph for Profile.cpp:

Go to the source code of this file.

Functions

 ACE_RCSID (tao, Profile,"$Id: Profile.cpp 84909 2009-03-19 15:16:15Z johnnyw $") 1 TAO_Profile
CORBA::Boolean operator<< (TAO_OutputCDR &cdr, const TAO_opaque &x)
CORBA::Boolean operator>> (TAO_InputCDR &cdr, TAO_opaque &x)

Function Documentation

ACE_RCSID ( tao  ,
Profile  ,
"$Id: Profile.cpp 84909 2009-03-19 15:16:15Z johnnyw $"   
)

Definition at line 24 of file Profile.cpp.

00026                : Profile.cpp 84909 2009-03-19 15:16:15Z johnnyw $")
00027 
00028 // ****************************************************************
00029 
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031 
00032 TAO_Profile::TAO_Profile (CORBA::ULong tag,
00033                           TAO_ORB_Core *orb_core,
00034                           const TAO::ObjectKey &obj_key,
00035                           const TAO_GIOP_Message_Version &version)
00036   : version_ (version)
00037     , are_policies_parsed_ (false)
00038     , addressing_mode_ (0)
00039     , tagged_profile_ (0)
00040     , ref_object_key_ (0)
00041     , tag_ (tag)
00042     , orb_core_ (orb_core)
00043     , forward_to_ (0)
00044     , refcount_ (this->orb_core_->
00045                    client_factory ()->create_profile_refcount ())
00046     , tagged_profile_lock_ ()
00047     , tagged_profile_created_ (false)
00048 {
00049   (void) this->orb_core_->object_key_table ().bind (obj_key,
00050                                                     this->ref_object_key_);
00051 }

CORBA::Boolean operator<< ( TAO_OutputCDR cdr,
const TAO_opaque x 
)

Definition at line 901 of file Profile.cpp.

00902 {
00903   CORBA::ULong const length = x.length ();
00904   cdr.write_ulong (length);
00905 
00906 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00907   if (x.mb () != 0)
00908     {
00909       cdr.write_octet_array_mb (x.mb ());
00910     }
00911   else
00912 #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */
00913     {
00914       cdr.write_octet_array (x.get_buffer (), length);
00915     }
00916 
00917   return (CORBA::Boolean) cdr.good_bit ();
00918 }

CORBA::Boolean operator>> ( TAO_InputCDR cdr,
TAO_opaque x 
)

Definition at line 921 of file Profile.cpp.

00922 {
00923   CORBA::ULong length;
00924   cdr.read_ulong (length);
00925 
00926 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00927   if(ACE_BIT_DISABLED(cdr.start()->flags(),
00928                       ACE_Message_Block::DONT_DELETE)
00929      && (cdr.orb_core() == 0
00930          || 1 == cdr.orb_core()->
00931          resource_factory()->
00932          input_cdr_allocator_type_locked()
00933          )
00934      )
00935     {
00936       x.replace (length, cdr.start ());
00937       x.mb ()->wr_ptr (x.mb ()->rd_ptr () + length);
00938       cdr.skip_bytes (length);
00939     }
00940   else
00941 #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
00942     {
00943       x.length (length);
00944       cdr.read_octet_array (x.get_buffer (), length);
00945     }
00946 
00947   return (CORBA::Boolean) cdr.good_bit ();
00948 }

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sat Nov 21 23:27:29 2009 for TAO by  doxygen 1.6.1