OSXMLEncodeBuffer Class Reference

The OSXMLEncodeBuffer class is derived from the OSXMLMessageBuffer base class. More...

#include <OSXMLEncodeBuffer.h>

Inheritance diagram for OSXMLEncodeBuffer:
OSXMLMessageBuffer

Public Member Functions

EXTXMLMETHOD OSXMLEncodeBuffer ()
 Default constructor.
EXTXMLMETHOD OSXMLEncodeBuffer (OSOCTET *pMsgBuf, size_t msgBufLen)
 This constructor allows a static message buffer to be specified to receive the encoded message.
int addXMLHeader (const OSUTF8CHAR *version=OSUTF8("1.0"), const OSUTF8CHAR *encoding=OSUTF8(OSXMLHDRUTF8), OSBOOL newLine=TRUE)
 This method adds XML header text to the output buffer with the given version number and encoding attributes.
EXTXMLMETHOD int addXMLText (const OSUTF8CHAR *text)
 This method adds encoded XML text to the encode buffer.
virtual size_t getMsgLen ()
 This method returns the length of a previously encoded XML message.
virtual EXTXMLMETHOD int init ()
 This method reinitializes the encode buffer to allow a new message to be encoded.
virtual OSBOOL isA (Type bufferType)
 This is a virtual method that must be overridden by derived classes to allow identification of the class.
void nullTerminate ()
 This method adds a null-terminator character ('') at the current buffer position.
EXTXMLMETHOD void setFragment (OSBOOL value=TRUE)
 This method sets a flag indicating that the data is to be encoded as ax XML fragment instead of as a complete XML document (i.e.
virtual EXTXMLMETHOD long write (const char *filename)
 This method writes the encoded message to the given file.
virtual EXTXMLMETHOD long write (FILE *fp)
 This version of the write method writes to a file that is specified by a FILE pointer.

Protected Member Functions

 OSXMLEncodeBuffer (OSRTContext *pContext)

Detailed Description

The OSXMLEncodeBuffer class is derived from the OSXMLMessageBuffer base class.

It contains variables and methods specific to encoding XML messages. It is used to manage the buffer into which a message is to be encoded.

Definition at line 38 of file OSXMLEncodeBuffer.h.


Constructor & Destructor Documentation

EXTXMLMETHOD OSXMLEncodeBuffer::OSXMLEncodeBuffer ( OSOCTET *  pMsgBuf,
size_t  msgBufLen 
)

This constructor allows a static message buffer to be specified to receive the encoded message.

Parameters:
pMsgBuf A pointer to a fixed size message buffer to receive the encoded message.
msgBufLen Size of the fixed-size message buffer.

Member Function Documentation

int OSXMLEncodeBuffer::addXMLHeader ( const OSUTF8CHAR *  version = OSUTF8("1.0"),
const OSUTF8CHAR *  encoding = OSUTF8(OSXMLHDRUTF8),
OSBOOL  newLine = TRUE 
)

This method adds XML header text to the output buffer with the given version number and encoding attributes.

Parameters:
version XML version (default is 1.0)
encoding Character encoding (default is UTF-8)
newLine Add newline char at end of header
Returns:
Zero if success or negative error code.
EXTXMLMETHOD int OSXMLEncodeBuffer::addXMLText ( const OSUTF8CHAR *  text  ) 

This method adds encoded XML text to the encode buffer.

It is assumed that the user has already processed the text to do character escaping, etc.. The text is copied directly to the buffer as-is.

Parameters:
text Encoded XML text to be added to the buffer.
Returns:
Zero if success or negative error code.
virtual size_t OSXMLEncodeBuffer::getMsgLen (  )  [inline, virtual]

This method returns the length of a previously encoded XML message.

Returns:
Length of the XML message encapsulated within this buffer object.

Definition at line 90 of file OSXMLEncodeBuffer.h.

virtual EXTXMLMETHOD int OSXMLEncodeBuffer::init (  )  [virtual]

This method reinitializes the encode buffer to allow a new message to be encoded.

This makes it possible to reuse one message buffer object in a loop to encode multiple messages. After this method is called, any previously encoded message in the buffer will be overwritten on the next encode call.

virtual OSBOOL OSXMLEncodeBuffer::isA ( Type  bufferType  )  [inline, virtual]

This is a virtual method that must be overridden by derived classes to allow identification of the class.

The base class variant is abstract. This method matches an enumerated identifier defined in the base class. One identifier is declared for each of the derived classes.

Parameters:
bufferType Enumerated identifier specifying a derived class. This type is defined as a public access type in the OSRTMessageBufferIF base interface. Possible values include BEREncode, BERDecode, PEREncode, PERDecode, XMLEncode, and XMLDecode.
Returns:
Boolean result of the match operation. True if the bufferType argument is XMLEncode. argument.

Definition at line 118 of file OSXMLEncodeBuffer.h.

EXTXMLMETHOD void OSXMLEncodeBuffer::setFragment ( OSBOOL  value = TRUE  ) 

This method sets a flag indicating that the data is to be encoded as ax XML fragment instead of as a complete XML document (i.e.

an XML header will not be added).

virtual EXTXMLMETHOD long OSXMLEncodeBuffer::write ( FILE *  fp  )  [virtual]

This version of the write method writes to a file that is specified by a FILE pointer.

Parameters:
fp Pointer to FILE structure to which the encoded message will be written.
Returns:
Number of octets actually written. This value may be less than the actual message length if an error occurs.
virtual EXTXMLMETHOD long OSXMLEncodeBuffer::write ( const char *  filename  )  [virtual]

This method writes the encoded message to the given file.

Parameters:
filename The name of file to which the encoded message will be written.
Returns:
Number of octets actually written. This value may be less than the actual message length if an error occurs.

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