ACE  6.2.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | List of all members
ACE_Char_Codeset_Translator Class Referenceabstract

Codeset translation routines common to both Output and Input CDR streams. More...

#include <CDR_Stream.h>

Public Member Functions

virtual ~ACE_Char_Codeset_Translator ()
 
virtual ACE_CDR::Boolean read_char (ACE_InputCDR &, ACE_CDR::Char &)=0
 
virtual ACE_CDR::Boolean read_string (ACE_InputCDR &, ACE_CDR::Char *&)=0
 
virtual ACE_CDR::Boolean read_char_array (ACE_InputCDR &, ACE_CDR::Char *, ACE_CDR::ULong)=0
 
virtual ACE_CDR::Boolean write_char (ACE_OutputCDR &, ACE_CDR::Char)=0
 
virtual ACE_CDR::Boolean write_string (ACE_OutputCDR &, ACE_CDR::ULong, const ACE_CDR::Char *)=0
 
virtual ACE_CDR::Boolean write_char_array (ACE_OutputCDR &, const ACE_CDR::Char *, ACE_CDR::ULong)=0
 
virtual ACE_CDR::ULong ncs ()=0
 
virtual ACE_CDR::ULong tcs ()=0
 

Protected Member Functions

ACE_CDR::Boolean read_1 (ACE_InputCDR &input, ACE_CDR::Octet *x)
 
ACE_CDR::Boolean write_1 (ACE_OutputCDR &output, const ACE_CDR::Octet *x)
 
ACE_CDR::Boolean read_array (ACE_InputCDR &input, void *x, size_t size, size_t align, ACE_CDR::ULong length)
 
ACE_CDR::Boolean write_array (ACE_OutputCDR &output, const void *x, size_t size, size_t align, ACE_CDR::ULong length)
 
int adjust (ACE_OutputCDR &out, size_t size, size_t align, char *&buf)
 
void good_bit (ACE_OutputCDR &out, bool bit)
 Used by derived classes to set errors in the CDR stream. More...
 
ACE_CDR::Octet major_version (ACE_InputCDR &input)
 Obtain the CDR Stream's major & minor version values. More...
 
ACE_CDR::Octet minor_version (ACE_InputCDR &input)
 
ACE_CDR::Octet major_version (ACE_OutputCDR &output)
 
ACE_CDR::Octet minor_version (ACE_OutputCDR &output)
 

Detailed Description

Codeset translation routines common to both Output and Input CDR streams.

This class is a base class for defining codeset translation routines to handle the character set translations required by both CDR Input streams and CDR Output streams.

Translators are reference counted. This allows for stateful as well as stateless translators. Stateless translators will be allocated once whereas CDR Streams own their own copy of a stateful translator.

Constructor & Destructor Documentation

ACE_Char_Codeset_Translator::~ACE_Char_Codeset_Translator ( void  )
virtual

Member Function Documentation

int ACE_Char_Codeset_Translator::adjust ( ACE_OutputCDR out,
size_t  size,
size_t  align,
char *&  buf 
)
inlineprotected

Exposes the stream implementation of <adjust>, this is useful in many cases to minimize memory allocations during marshaling. On success buf will contain a contiguous area in the CDR stream that can hold size bytes aligned to <align>. Results

void ACE_Char_Codeset_Translator::good_bit ( ACE_OutputCDR out,
bool  bit 
)
inlineprotected

Used by derived classes to set errors in the CDR stream.

ACE_CDR::Octet ACE_Char_Codeset_Translator::major_version ( ACE_InputCDR input)
inlineprotected

Obtain the CDR Stream's major & minor version values.

ACE_CDR::Octet ACE_Char_Codeset_Translator::major_version ( ACE_OutputCDR output)
inlineprotected
ACE_CDR::Octet ACE_Char_Codeset_Translator::minor_version ( ACE_InputCDR input)
inlineprotected
ACE_CDR::Octet ACE_Char_Codeset_Translator::minor_version ( ACE_OutputCDR output)
inlineprotected
virtual ACE_CDR::ULong ACE_Char_Codeset_Translator::ncs ( )
pure virtual
ACE_CDR::Boolean ACE_Char_Codeset_Translator::read_1 ( ACE_InputCDR input,
ACE_CDR::Octet x 
)
inlineprotected

Children have access to low-level routines because they cannot use read_char or something similar (it would recurse).

ACE_CDR::Boolean ACE_Char_Codeset_Translator::read_array ( ACE_InputCDR input,
void *  x,
size_t  size,
size_t  align,
ACE_CDR::ULong  length 
)
inlineprotected

Efficiently read length elements of size size each from <input> into <x>; the data must be aligned to <align>.

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::read_char ( ACE_InputCDR ,
ACE_CDR::Char  
)
pure virtual

Read a single character from the stream, converting from the stream codeset to the native codeset

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::read_char_array ( ACE_InputCDR ,
ACE_CDR::Char ,
ACE_CDR::ULong   
)
pure virtual

Read an array of characters from the stream, converting the characters from the stream codeset to the native codeset.

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::read_string ( ACE_InputCDR ,
ACE_CDR::Char *&   
)
pure virtual

Read a string from the stream, including the length, converting the characters from the stream codeset to the native codeset

virtual ACE_CDR::ULong ACE_Char_Codeset_Translator::tcs ( )
pure virtual
ACE_CDR::Boolean ACE_Char_Codeset_Translator::write_1 ( ACE_OutputCDR output,
const ACE_CDR::Octet x 
)
inlineprotected
ACE_CDR::Boolean ACE_Char_Codeset_Translator::write_array ( ACE_OutputCDR output,
const void *  x,
size_t  size,
size_t  align,
ACE_CDR::ULong  length 
)
inlineprotected

Efficiently write length elements of size size from <x> into <output>. Before inserting the elements enough padding is added to ensure that the elements will be aligned to <align> in the stream.

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::write_char ( ACE_OutputCDR ,
ACE_CDR::Char   
)
pure virtual

Write a single character to the stream, converting from the native codeset to the stream codeset

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::write_char_array ( ACE_OutputCDR ,
const ACE_CDR::Char ,
ACE_CDR::ULong   
)
pure virtual

Write an array of characters to the stream, converting from the native codeset to the stream codeset

virtual ACE_CDR::Boolean ACE_Char_Codeset_Translator::write_string ( ACE_OutputCDR ,
ACE_CDR::ULong  ,
const ACE_CDR::Char  
)
pure virtual

Write a string to the stream, including the length, converting from the native codeset to the stream codeset


The documentation for this class was generated from the following files: