oasys::MarshalSize Class Reference

#include <MarshalSerialize.h>

Inheritance diagram for oasys::MarshalSize:

oasys::SerializeAction oasys::Serialize List of all members.

Detailed Description

MarshalSize is a SerializeAction that determines the buffer size needed to run a Marshal action over the object.

Definition at line 115 of file MarshalSerialize.h.

Public Member Functions

 MarshalSize (context_t context, int options=0)
 Constructor.
int action (const SerializableObject *const_object)
 Again, we can tolerate a const object as well.
void process (const char *name, SerializableObject *const_object)
 Process function for a contained SerializableObject.
u_int32_t size ()
 
Returns:
Measured size

void begin_action ()
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_int64_t *i)
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_int32_t *i)
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_int16_t *i)
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_int8_t *i)
 Virtual functions inherited from SerializeAction.
void process (const char *name, bool *b)
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_char *bp, u_int32_t len)
 Virtual functions inherited from SerializeAction.
void process (const char *name, u_char **bp, u_int32_t *lenp, int flags)
 Virtual functions inherited from SerializeAction.
void process (const char *name, std::string *s)
 Virtual functions inherited from SerializeAction.

Static Public Member Functions

static u_int32_t get_size (u_int64_t *)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (u_int32_t *)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (u_int16_t *)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (u_int8_t *)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (bool *)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (u_char *, u_int32_t len)
 Static functions to simply return the serialized sizes.
static u_int32_t get_size (std::string *s)
 Static functions to simply return the serialized sizes.

Private Attributes

u_int32_t size_


Constructor & Destructor Documentation

oasys::MarshalSize::MarshalSize ( context_t  context,
int  options = 0 
) [inline]

Constructor.

Definition at line 120 of file MarshalSerialize.h.


Member Function Documentation

int oasys::MarshalSize::action ( const SerializableObject const_object  )  [inline]

Again, we can tolerate a const object as well.

Definition at line 128 of file MarshalSerialize.h.

References oasys::SerializeAction::action().

Referenced by oasys::DurableTableImpl::flatten(), and oasys::BerkeleyDBTable::put().

void oasys::MarshalSize::process ( const char *  name,
SerializableObject const_object 
) [inline, virtual]

Process function for a contained SerializableObject.

The default implementation just calls serialize() on the contained object, ignoring the name value. However, a derived class can of course override it to make use of the name (as is done by SQLTableFormat, for example).

Reimplemented from oasys::SerializeAction.

Definition at line 134 of file MarshalSerialize.h.

References oasys::SerializeAction::process().

u_int32_t oasys::MarshalSize::size (  )  [inline]

Returns:
Measured size

Definition at line 141 of file MarshalSerialize.h.

References size_.

Referenced by oasys::DurableTableImpl::flatten(), and oasys::BerkeleyDBTable::put().

static u_int32_t oasys::MarshalSize::get_size ( u_int64_t *   )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 146 of file MarshalSerialize.h.

Referenced by oasys::BerkeleyDBTable::get(), process(), and oasys::BerkeleyDBTable::put().

static u_int32_t oasys::MarshalSize::get_size ( u_int32_t *   )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 147 of file MarshalSerialize.h.

static u_int32_t oasys::MarshalSize::get_size ( u_int16_t *   )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 148 of file MarshalSerialize.h.

static u_int32_t oasys::MarshalSize::get_size ( u_int8_t *   )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 149 of file MarshalSerialize.h.

static u_int32_t oasys::MarshalSize::get_size ( bool  )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 150 of file MarshalSerialize.h.

static u_int32_t oasys::MarshalSize::get_size ( u_char *  ,
u_int32_t  len 
) [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 151 of file MarshalSerialize.h.

static u_int32_t oasys::MarshalSize::get_size ( std::string *  s  )  [inline, static]

Static functions to simply return the serialized sizes.

Called from the various process() variants.

Definition at line 152 of file MarshalSerialize.h.

void oasys::MarshalSize::begin_action (  )  [virtual]

Virtual functions inherited from SerializeAction.

Reimplemented from oasys::SerializeAction.

Definition at line 379 of file MarshalSerialize.cc.

References oasys::SerializeAction::options_, size_, and oasys::Serialize::USE_CRC.

void oasys::MarshalSize::process ( const char *  name,
u_int64_t *  i 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 387 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
u_int32_t *  i 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 394 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
u_int16_t *  i 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 401 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
u_int8_t *  i 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 408 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
bool b 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 415 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
u_char *  bp,
u_int32_t  len 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 422 of file MarshalSerialize.cc.

References get_size(), and size_.

void oasys::MarshalSize::process ( const char *  name,
u_char **  bp,
u_int32_t *  lenp,
int  flags 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 436 of file MarshalSerialize.cc.

References oasys::Serialize::NULL_TERMINATED, and size_.

void oasys::MarshalSize::process ( const char *  name,
std::string *  s 
) [virtual]

Virtual functions inherited from SerializeAction.

Implements oasys::SerializeAction.

Definition at line 429 of file MarshalSerialize.cc.

References get_size(), and size_.


Member Data Documentation

u_int32_t oasys::MarshalSize::size_ [private]

Definition at line 169 of file MarshalSerialize.h.

Referenced by begin_action(), process(), and size().


The documentation for this class was generated from the following files:
Generated on Thu Jun 7 16:57:00 2007 for DTN Reference Implementation by  doxygen 1.5.1