Base64 Class Reference

List of all members.

Public Types

enum  Conformance { Conf_RFC2045, Conf_Schema }

Static Public Member Functions

static XMLCh * getCanonicalRepresentation (const XMLCh *const inputData, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)
 get canonical representation
static XMLByteencode (const XMLByte *const inputData, const unsigned int inputLength, unsigned int *outputLength, MemoryManager *const memMgr=0)
 Encodes octets into Base64 data.
static XMLBytedecode (const XMLByte *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)
 Decodes Base64 data into octets.
static XMLCh * decode (const XMLCh *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)
 Decodes Base64 data into XMLCh.
static XMLBytedecodeToXMLByte (const XMLCh *const inputData, unsigned int *decodedLength, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)
 Decodes Base64 data into octets.
static int getDataLength (const XMLCh *const inputData, MemoryManager *const memMgr=0, Conformance conform=Conf_RFC2045)
 Get data length.


Member Enumeration Documentation

enum Base64::Conformance

Enumerator:
Conf_RFC2045 
Conf_Schema 


Member Function Documentation

static XMLByte* Base64::encode ( const XMLByte *const   inputData,
const unsigned int  inputLength,
unsigned int *  outputLength,
MemoryManager *const   memMgr = 0 
) [static]

Encodes octets into Base64 data.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.

Parameters:
inputData Binary data in XMLByte stream.
inputLength Length of the XMLByte stream.
outputLength Length of the encoded Base64 byte stream.
memMgr client provided memory manager
Returns:
Encoded Base64 data in XMLByte stream, or NULL if input data can not be encoded.
See also:
XMLString::release(XMLByte**)

static XMLByte* Base64::decode ( const XMLByte *const   inputData,
unsigned int *  decodedLength,
MemoryManager *const   memMgr = 0,
Conformance  conform = Conf_RFC2045 
) [static]

Decodes Base64 data into octets.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.

Parameters:
inputData Base64 data in XMLByte stream.
decodedLength Length of decoded XMLByte stream.
memMgr client provided memory manager
conform conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets
Returns:
Decoded binary data in XMLByte stream, or NULL if input data can not be decoded.
See also:
XMLString::release(XMLByte**)

static XMLCh* Base64::decode ( const XMLCh *const   inputData,
unsigned int *  decodedLength,
MemoryManager *const   memMgr = 0,
Conformance  conform = Conf_RFC2045 
) [static]

Decodes Base64 data into XMLCh.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.

Parameters:
inputData Base64 data in XMLCh stream.
decodedLength Length of decoded XMLCh stream
memMgr client provided memory manager
conform conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets
Returns:
Decoded binary data in XMLCh stream, or NULL if input data can not be decoded.
See also:
XMLString::release(XMLCh**)
Deprecated:
use decodeToXMLByte instead.

static XMLByte* Base64::decodeToXMLByte ( const XMLCh *const   inputData,
unsigned int *  decodedLength,
MemoryManager *const   memMgr = 0,
Conformance  conform = Conf_RFC2045 
) [static]

Decodes Base64 data into octets.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

If a memory manager is provided, ask the memory manager to de-allocate the returned buffer.

Parameters:
inputData Base64 data in XMLCh stream.
decodedLength Length of decoded XMLByte stream.
memMgr client provided memory manager
conform conformance specified: if the input data conforms to the RFC 2045 it is allowed to have any number of whitespace characters inside; if it conforms to the XMLSchema specs, it is allowed to have at most one whitespace character between the quartets
Returns:
Decoded binary data in XMLByte stream, or NULL if input data can not be decoded.
See also:
XMLString::release(XMLByte**)

static int Base64::getDataLength ( const XMLCh *const   inputData,
MemoryManager *const   memMgr = 0,
Conformance  conform = Conf_RFC2045 
) [static]

Get data length.

Returns length of decoded data given an array containing encoded data.

Parameters:
inputData Base64 data in XMLCh stream.
memMgr client provided memory manager
conform conformance specified
Returns:
Length of decoded data, or -1 if input data can not be decoded.

static XMLCh* Base64::getCanonicalRepresentation ( const XMLCh *const   inputData,
MemoryManager *const   memMgr = 0,
Conformance  conform = Conf_RFC2045 
) [static]

get canonical representation

Caller is responsible for the proper deallcation of the string returned.

Parameters:
inputData A string containing the Base64
memMgr client provided memory manager
conform conformance specified
return: the canonical representation of the Base64 if it is a valid Base64 0 otherwise


The documentation for this class was generated from the following file:
Generated on Thu Feb 19 11:35:44 2009 for Xerces-C++ by  doxygen 1.5.4