Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TAO_CDR_Encaps_Codec Class Reference

Implementation of a CDR encapsulation coder/decoder (Codec). More...

#include <CDR_Encaps_Codec.h>

Inheritance diagram for TAO_CDR_Encaps_Codec:

Inheritance graph
[legend]
Collaboration diagram for TAO_CDR_Encaps_Codec:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_CDR_Encaps_Codec (CORBA::Octet major, CORBA::Octet minor, TAO_ORB_Core *orb_core)
 Constructor.
virtual CORBA::OctetSeqencode (const CORBA::Any &data ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding)
virtual CORBA::Anydecode (const CORBA::OctetSeq &data ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, IOP::Codec::FormatMismatch)
virtual CORBA::OctetSeqencode_value (const CORBA::Any &data ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding)
virtual CORBA::Anydecode_value (const CORBA::OctetSeq &data, CORBA::TypeCode_ptr tc ACE_ENV_ARG_DECL_WITH_DEFAULTS) throw (CORBA::SystemException, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch)

Protected Member Functions

 ~TAO_CDR_Encaps_Codec (void)
 Destructor.
void check_type_for_encoding (const CORBA::Any &data ACE_ENV_ARG_DECL)

Private Member Functions

 TAO_CDR_Encaps_Codec (const TAO_CDR_Encaps_Codec &)
void operator= (const TAO_CDR_Encaps_Codec &)

Private Attributes

CORBA::Octet major_
 The major GIOP version associated with this Codec.
CORBA::Octet minor_
 The minor GIOP version associated with this Codec.
TAO_ORB_Coreorb_core_

Detailed Description

Implementation of a CDR encapsulation coder/decoder (Codec).

This coder/decoder (Codec) class encodes and decodes data to and from a CDR encapsulation, respectively. It is useful for creation of octet sequences that contain CDR encapsulations. Those octet sequences can then be placed in a IOP::ServiceContext or an IOP::TaggedComponent, for example.

Note:
This Codec should not be used for operations internal to the ORB core since it uses interpretive marshaling rather than compiled marshaling.


Constructor & Destructor Documentation

TAO_CDR_Encaps_Codec::TAO_CDR_Encaps_Codec CORBA::Octet  major,
CORBA::Octet  minor,
TAO_ORB_Core orb_core
 

Constructor.

TAO_CDR_Encaps_Codec::~TAO_CDR_Encaps_Codec void   )  [protected]
 

Destructor.

Only allow this class to be instantiated on the heap since it is reference counted.

TAO_CDR_Encaps_Codec::TAO_CDR_Encaps_Codec const TAO_CDR_Encaps_Codec  )  [private]
 

Prevent copying through the copy constructor and the assignment operator.


Member Function Documentation

void TAO_CDR_Encaps_Codec::check_type_for_encoding const CORBA::Any &data  ACE_ENV_ARG_DECL  )  [protected]
 

Typical reasons for failure include attempting to encode a type that isn't supported for the version of GIOP associated with this Codec.

CORBA::Any * TAO_CDR_Encaps_Codec::decode const CORBA::OctetSeq &data  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, IOP::Codec::FormatMismatch) [virtual]
 

Extract the TypeCode and the value from the octet sequence and place them into an Any.

CORBA::Any * TAO_CDR_Encaps_Codec::decode_value const CORBA::OctetSeq data,
CORBA::TypeCode_ptr tc  ACE_ENV_ARG_DECL_WITH_DEFAULTS
throw (CORBA::SystemException, IOP::Codec::FormatMismatch, IOP::Codec::TypeMismatch) [virtual]
 

Extract the value from the octet sequence, based on the given TypeCode, and place it into an Any.

CORBA::OctetSeq * TAO_CDR_Encaps_Codec::encode const CORBA::Any &data  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding) [virtual]
 

Encode the given data, including the TypeCode, into an octet sequence.

CORBA::OctetSeq * TAO_CDR_Encaps_Codec::encode_value const CORBA::Any &data  ACE_ENV_ARG_DECL_WITH_DEFAULTS  )  throw (CORBA::SystemException, IOP::Codec::InvalidTypeForEncoding) [virtual]
 

Encode the given data, excluding the TypeCode, into an octet sequence.

void TAO_CDR_Encaps_Codec::operator= const TAO_CDR_Encaps_Codec  )  [private]
 


Member Data Documentation

CORBA::Octet TAO_CDR_Encaps_Codec::major_ [private]
 

The major GIOP version associated with this Codec.

CORBA::Octet TAO_CDR_Encaps_Codec::minor_ [private]
 

The minor GIOP version associated with this Codec.

TAO_ORB_Core* TAO_CDR_Encaps_Codec::orb_core_ [private]
 

The ORB Core to be used when decoding values from a CDR encapsulation.

Reimplemented from CORBA::Object.


The documentation for this class was generated from the following files:
Generated on Thu Jun 9 00:17:03 2005 for TAO by  doxygen 1.3.9.1