Profile.h File Reference

#include "tao/Tagged_Components.h"
#include "tao/GIOP_Message_Version.h"
#include "tao/Refcounted_ObjectKey.h"
#include "tao/Service_Callbacks.h"
#include "tao/Configurable_Refcount.h"

Include dependency graph for Profile.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  CORBA

Classes

class  TAO_Profile
 Defines the Profile interface. More...
class  TAO_Unknown_Profile
 A TAO_Profile class to handle foreign profiles. More...

Typedefs

typedef TAO::unbounded_value_sequence<
CORBA::Octet
TAO_opaque

Functions

TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const TAO_opaque &)
TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, TAO_opaque &)


Detailed Description

Id
Profile.h 81435 2008-04-25 07:27:57Z johnnyw

Author:
Fred Kuhns <fredk@cs.wustl.edu>

Definition in file Profile.h.


Typedef Documentation

typedef TAO::unbounded_value_sequence<CORBA::Octet> TAO_opaque

Definition at line 403 of file Profile.h.


Function Documentation

TAO_Export CORBA::Boolean operator<< ( TAO_OutputCDR ,
const TAO_opaque  
)

Definition at line 915 of file Profile.cpp.

References TAO::unbounded_value_sequence< CORBA::Octet >::get_buffer(), ACE_OutputCDR::good_bit(), TAO::unbounded_value_sequence< CORBA::Octet >::length(), TAO::unbounded_value_sequence< CORBA::Octet >::mb(), ACE_OutputCDR::write_octet_array(), ACE_OutputCDR::write_octet_array_mb(), and ACE_OutputCDR::write_ulong().

00916 {
00917   CORBA::ULong const length = x.length ();
00918   cdr.write_ulong (length);
00919 
00920 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00921   if (x.mb () != 0)
00922     {
00923       cdr.write_octet_array_mb (x.mb ());
00924     }
00925   else
00926 #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 1 */
00927     {
00928       cdr.write_octet_array (x.get_buffer (), length);
00929     }
00930 
00931   return (CORBA::Boolean) cdr.good_bit ();
00932 }

TAO_Export CORBA::Boolean operator>> ( TAO_InputCDR ,
TAO_opaque  
)

Definition at line 935 of file Profile.cpp.

References ACE_BIT_DISABLED, ACE_Message_Block::DONT_DELETE, ACE_Message_Block::flags(), TAO::unbounded_value_sequence< CORBA::Octet >::get_buffer(), ACE_InputCDR::good_bit(), TAO::unbounded_value_sequence< CORBA::Octet >::length(), TAO::unbounded_value_sequence< CORBA::Octet >::mb(), TAO_InputCDR::orb_core(), ACE_Message_Block::rd_ptr(), ACE_InputCDR::read_octet_array(), ACE_InputCDR::read_ulong(), TAO::unbounded_value_sequence< CORBA::Octet >::replace(), ACE_InputCDR::skip_bytes(), ACE_InputCDR::start(), and ACE_Message_Block::wr_ptr().

00936 {
00937   CORBA::ULong length;
00938   cdr.read_ulong (length);
00939 
00940 #if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
00941   if(ACE_BIT_DISABLED(cdr.start()->flags(),
00942                       ACE_Message_Block::DONT_DELETE)
00943      && (cdr.orb_core() == 0
00944          || 1 == cdr.orb_core()->
00945          resource_factory()->
00946          input_cdr_allocator_type_locked()
00947          )
00948      )
00949     {
00950       x.replace (length, cdr.start ());
00951       x.mb ()->wr_ptr (x.mb ()->rd_ptr () + length);
00952       cdr.skip_bytes (length);
00953     }
00954   else
00955 #endif /* TAO_NO_COPY_OCTET_SEQUENCES == 0 */
00956     {
00957       x.length (length);
00958       cdr.read_octet_array (x.get_buffer (), length);
00959     }
00960 
00961   return (CORBA::Boolean) cdr.good_bit ();
00962 }


Generated on Tue Feb 2 17:38:44 2010 for TAO by  doxygen 1.4.7