Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes

ACE_RMCast::Data Struct Reference

#include <Protocol.h>

Inheritance diagram for ACE_RMCast::Data:
Inheritance graph
[legend]
Collaboration diagram for ACE_RMCast::Data:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~Data ()
 Data (Header const &h, istream &is)
 Data (void const *buf, size_t s, size_t capacity=0)
Data_ptr clone ()
char const * buf () const
char * buf ()
size_t size () const
void size (size_t s)
size_t capacity () const
virtual void serialize_body (ostream &os) const
virtual void serialize_body (sstream &ss) const

Static Public Attributes

static u16 const id = 0x0003

Protected Member Functions

virtual Profile_ptr clone_ ()
 Data (Data const &d)

Private Attributes

char * buf_
size_t size_
size_t capacity_

Detailed Description

Definition at line 551 of file Protocol.h.


Constructor & Destructor Documentation

virtual ACE_RMCast::Data::~Data (  )  [inline, virtual]

Definition at line 557 of file Protocol.h.

    {
      if (buf_)
        operator delete (buf_);
    }

ACE_RMCast::Data::Data ( Header const &  h,
istream is 
) [inline]

Definition at line 563 of file Protocol.h.

        : Profile (h),
          buf_ (0),
          size_ (h.size ()),
          capacity_ (size_)
    {
      if (size_)
      {
        buf_ = reinterpret_cast<char*> (operator new (capacity_));
        is.read_char_array (buf_, size_);
      }
    }

ACE_RMCast::Data::Data ( void const *  buf,
size_t  s,
size_t  capacity = 0 
) [inline]

Definition at line 576 of file Protocol.h.

        : Profile (id),
          buf_ (0),
          size_ (s),
          capacity_ (capacity < size_ ? size_ : capacity)
    {
      if (size_)
      {
        buf_ = reinterpret_cast<char*> (operator new (capacity_));
        ACE_OS::memcpy (buf_, buf, size_);
      }

      Profile::size (calculate_size ());
    }

ACE_RMCast::Data::Data ( Data const &  d  )  [inline, protected]

Definition at line 605 of file Protocol.h.

        : Profile (d),
          buf_ (0),
          size_ (d.size_),
          capacity_ (d.capacity_)
    {
      if (size_)
      {
        buf_ = reinterpret_cast<char*> (operator new (capacity_));
        ACE_OS::memcpy (buf_, d.buf_, size_);
      }

      Profile::size (calculate_size ());
    }


Member Function Documentation

char const* ACE_RMCast::Data::buf ( void   )  const [inline]

Definition at line 622 of file Protocol.h.

    {
      return buf_;
    }

char* ACE_RMCast::Data::buf ( void   )  [inline]

Definition at line 628 of file Protocol.h.

    {
      return buf_;
    }

size_t ACE_RMCast::Data::capacity ( void   )  const [inline]

Definition at line 651 of file Protocol.h.

    {
      return capacity_;
    }

Data_ptr ACE_RMCast::Data::clone ( void   )  [inline]

Reimplemented from ACE_RMCast::Profile.

Definition at line 592 of file Protocol.h.

    {
      return Data_ptr (clone_ ());
    }

virtual Profile_ptr ACE_RMCast::Data::clone_ (  )  [inline, protected, virtual]

Implements ACE_RMCast::Profile.

Definition at line 599 of file Protocol.h.

    {
      Profile_ptr p (new Data (*this));
      return p;
    }

virtual void ACE_RMCast::Data::serialize_body ( sstream ss  )  const [inline, virtual]

Implements ACE_RMCast::Profile.

Definition at line 664 of file Protocol.h.

    {
      ss.write_char_array (buf_, size_);
    }

virtual void ACE_RMCast::Data::serialize_body ( ostream os  )  const [inline, virtual]

Implements ACE_RMCast::Profile.

Definition at line 658 of file Protocol.h.

    {
      os.write_char_array (buf_, size_);
    }

void ACE_RMCast::Data::size ( size_t  s  )  [inline]

Definition at line 640 of file Protocol.h.

size_t ACE_RMCast::Data::size ( void   )  const [inline]

Reimplemented from ACE_RMCast::Profile.

Definition at line 634 of file Protocol.h.

    {
      return size_;
    }


Member Data Documentation

char* ACE_RMCast::Data::buf_ [private]

Definition at line 670 of file Protocol.h.

size_t ACE_RMCast::Data::capacity_ [private]

Definition at line 672 of file Protocol.h.

u16 const ACE_RMCast::Data::id = 0x0003 [static]

Definition at line 553 of file Protocol.h.

size_t ACE_RMCast::Data::size_ [private]

Definition at line 671 of file Protocol.h.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Defines