Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
p6base64.h
Go to the documentation of this file.
1 
10 #ifndef P6BASE64_H__
11 #define P6BASE64_H__ 1
12 
13 #include "p6com.h"
14 
15 
16 
17 namespace P6R {
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 
31 const P6BASE64FLAGS P6BASE64_NOFLAGS = 0x00000000;
32 
33 
41 interface p6IBase64 : p6ICom
42 {
53  P6COMMETHOD initialize( P6BASE64FLAGS flags ) = 0;
54 
83  P6COMMETHOD decodeBlock( const P6CHAR* pInb64, P6UCHAR* pDecoded, P6UINT32 cBuffer, P6UINT32* pWritten ) = 0;
84 
112  P6COMMETHOD encodeBlock( const P6CHAR* pIn, P6UINT32 inSize, P6BOOL multiLine, P6CHAR* pEncoded, P6UINT32 cBuffer, P6UINT32* pWritten ) = 0;
113 
142  P6COMMETHOD encodeBlockURLSafe( const P6CHAR* pIn, P6UINT32 inSize, P6CHAR* pEncoded, P6UINT32 cBuffer, P6UINT32* pWritten ) = 0;
143 };
144 
145 
146 // {9C3680B8-0730-44a9-8B81-D0BA45382A55}
147 #define IF_p6IBase64 {0x9c3680b8,0x730,0x44a9,{0x8b,0x81,0xd0,0xba,0x45,0x38,0x2a,0x55}}
148 
149 // {8A9B5284-D12D-4fd0-8737-70D63F86886E}
150 #define COMP_p6Base64 {0x8a9b5284,0xd12d,0x4fd0,{0x87,0x37,0x70,0xd6,0x3f,0x86,0x88,0x6e}}
151 
152 #ifdef __cplusplus
153 }
154 #endif
155 
156 } // namespace
157 
158 #endif
159 
160 
virtual P6R::P6ERR decodeBlock(const P6CHAR *pInb64, P6UCHAR *pDecoded, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
This function converts a base64 string of characters back into its orginal form.
unsigned char P6UCHAR
Definition: p6types.h:74
unsigned int P6UINT32
Definition: p6types.h:40
P6UINT32 P6BASE64FLAGS
P6BASE64FLAGS.
Definition: p6base64.h:30
bool P6BOOL
Boolean type.
Definition: p6types.h:101
const P6BASE64FLAGS P6BASE64_NOFLAGS
Definition: p6base64.h:31
The base interface all [p6]COM components must derive from and implement.
Definition: p6comdef.h:96
virtual P6R::P6ERR initialize(P6BASE64FLAGS flags)=0
This function ensures that this object is in its proper initial state.
virtual P6R::P6ERR encodeBlockURLSafe(const P6CHAR *pIn, P6UINT32 inSize, P6CHAR *pEncoded, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
This encoding scheme converts the input into a safe set of characters that can be used in URLs...
#define P6COMMETHOD
Definition: p6types.h:872
virtual P6R::P6ERR encodeBlock(const P6CHAR *pIn, P6UINT32 inSize, P6BOOL multiLine, P6CHAR *pEncoded, P6UINT32 cBuffer, P6UINT32 *pWritten)=0
This encoding scheme converts the input into a safe set of characters.
Standard Base64 block encoder and decoder.
Definition: p6base64.h:41
P6COM definitions and interfaces.
char P6CHAR
Narrow character type.
Definition: p6types.h:71