Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile Class Reference

#include <IOPC.h>

Inheritance diagram for IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile:

Inheritance graph
[legend]
Collaboration diagram for IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile:

Collaboration graph
[legend]
List of all members.

Public Methods

 _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile (void)
 _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile (CORBA::ULong maximum)
 _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile (CORBA::ULong maximum, CORBA::ULong length, TaggedComponent *data, CORBA::Boolean release=0)
 _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile (const _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile &rhs)
_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile & operator= (const _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile &rhs)
virtual ~_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile (void)
TaggedComponentoperator[] (CORBA::ULong i)
const TaggedComponentoperator[] (CORBA::ULong i) const
virtual void _allocate_buffer (CORBA::ULong length)
virtual void _deallocate_buffer (void)
 Must deallocate the buffer and then set it to zero. More...

TaggedComponentget_buffer (CORBA::Boolean orphan=0)
const TaggedComponentget_buffer (void) const
void replace (CORBA::ULong max, CORBA::ULong length, TaggedComponent *data, CORBA::Boolean release)

Static Public Methods

TaggedComponentallocbuf (CORBA::ULong size)
void freebuf (TaggedComponent *buffer)

Constructor & Destructor Documentation

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile void   
 

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile CORBA::ULong    maximum
 

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile CORBA::ULong    maximum,
CORBA::ULong    length,
TaggedComponent   data,
CORBA::Boolean    release = 0
 

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile const _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile &    rhs
 

IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::~_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile void    [virtual]
 

Definition at line 594 of file IOPC.cpp.

00595 {
00596   this->_deallocate_buffer ();
00597 }


Member Function Documentation

void IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_allocate_buffer CORBA::ULong    length [virtual]
 

Ensure that the buffer contains space for at least <length> elements. The constructor must be called for any new elements, the old ones (if any) must be copied into the buffer using operator= and then their destructors must be called. Finally the old buffer must be released.

Implements TAO_Base_Sequence.

Definition at line 563 of file IOPC.cpp.

References TAO_Base_Sequence::buffer_, TAO_Unbounded_Base_Sequence::length, TAO_Base_Sequence::length_, and TAO_Base_Sequence::release_.

00564 {
00565   IOP::TaggedComponent* tmp = 0;
00566   tmp = _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::allocbuf (length);
00567 
00568   if (this->buffer_ != 0)
00569   {
00570     IOP::TaggedComponent *old = ACE_reinterpret_cast (IOP::TaggedComponent *,this->buffer_);
00571 
00572     for (CORBA::ULong i = 0; i < this->length_; ++i)
00573       tmp[i] = old[i];
00574 
00575     if (this->release_)
00576       _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::freebuf (old);
00577 
00578   }
00579   this->buffer_ = tmp;
00580 }

void IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::_deallocate_buffer void    [virtual]
 

Must deallocate the buffer and then set it to zero.

Implements TAO_Base_Sequence.

Definition at line 583 of file IOPC.cpp.

References TAO_Base_Sequence::buffer_, and TAO_Base_Sequence::release_.

00584 {
00585   if (this->buffer_ == 0 || this->release_ == 0)
00586     return;
00587 
00588   IOP::TaggedComponent *tmp = ACE_reinterpret_cast (IOP::TaggedComponent *,this->buffer_);
00589 
00590   _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::freebuf (tmp);
00591   this->buffer_ = 0;
00592 }

TaggedComponent* IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::allocbuf CORBA::ULong    size [static]
 

void IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::freebuf TaggedComponent   buffer [static]
 

const TaggedComponent* IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::get_buffer void    const
 

TaggedComponent* IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::get_buffer CORBA::Boolean    orphan = 0
 

_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile& IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::operator= const _TAO_Unbounded_Sequence_IOP_MultipleComponentProfile &    rhs
 

const TaggedComponent& IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::operator[] CORBA::ULong    i const
 

TaggedComponent& IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::operator[] CORBA::ULong    i
 

void IOP::_TAO_Unbounded_Sequence_IOP_MultipleComponentProfile::replace CORBA::ULong    max,
CORBA::ULong    length,
TaggedComponent   data,
CORBA::Boolean    release
 

Referenced by TAO_Tagged_Components::add_component_i, and TAO_Tagged_Components::set_component_i.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 16:01:43 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002