37 #ifndef _BASE64_HPP_INCLUDED
38 #define _BASE64_HPP_INCLUDED
41 #include "types/base64.h"
46 inline size_t encodedSize(
size_t dataSize,
unsigned short lineLength )
48 return base64_encodedSize( dataSize, lineLength );
51 inline int encode(
const void* data,
size_t dataSize,
52 char* encoded,
size_t encodedMaxSize,
unsigned short lineLength = 72 )
54 return base64_encode( data, dataSize, encoded, encodedMaxSize, lineLength );
57 std::string
encode(
const void* data,
size_t dataSize,
unsigned short lineLength );
66 unsigned short lineLength = DEFAULT_BASE64_LINE_LENGTH )
69 base64_initEncodeState( &
m_state, lineLength );
74 return base64_encodedSize( dataSize,
m_state.lineLength );
78 char* encoded,
size_t encodedMaxSize )
80 return base64_encodeChunk( &
m_state, data, dataSize, encoded, encodedMaxSize );
85 return base64_encodeEndChunk( &
m_state, encoded, encodedMaxSize );
88 void encode( std::istream& input, std::ostream& output );
104 return base64_decode( encoded, encodedSize, data, dataMaxSize );
107 inline int decode(
const std::string encoded,
void* data,
size_t dataMaxSize )
109 return base64_decode( encoded.data(), encoded.length(), data, dataMaxSize );
121 base64_initDecodeState( &
m_state );
126 base64_initDecodeState( &
m_state );
130 void* data,
size_t dataMaxSize )
132 return base64_decodeChunk( &
m_state, encoded, encodedSize, data, dataMaxSize );
135 void decode( std::istream& input, std::ostream& output );
150 #endif // _BASE64_HPP_INCLUDED
base64_EncodeState m_state
Definition: base64.hpp:91
const size_t m_bufferSize
Definition: base64.hpp:139
static const size_t BUFFERSIZE
Definition: base64.hpp:117
size_t encodedSize(size_t dataSize)
Definition: base64.hpp:72
Base64 decoder class for chunkwise decoding.
Definition: base64.hpp:115
base64_DecodeState m_state
Definition: base64.hpp:138
Base64 encoder class for chunkwise encoding.
Definition: base64.hpp:61
Decoder()
Definition: base64.hpp:119
int decode(const char *encoded, size_t encodedSize, void *data, size_t dataMaxSize)
Definition: base64.hpp:102
void encode(std::istream &input, std::ostream &output)
size_t encodedSize(size_t dataSize, unsigned short lineLength)
Definition: base64.hpp:46
int encodeEndChunk(char *encoded, size_t encodedMaxSize)
Definition: base64.hpp:83
const size_t m_bufferSize
Definition: base64.hpp:92
Decoder(size_t bufferSize)
Definition: base64.hpp:124
int encode(const void *data, size_t dataSize, char *encoded, size_t encodedMaxSize, unsigned short lineLength=72)
Definition: base64.hpp:51
int encodeChunk(const void *data, size_t dataSize, char *encoded, size_t encodedMaxSize)
Definition: base64.hpp:77
Encoder(size_t bufferSize=BUFFERSIZE, unsigned short lineLength=DEFAULT_BASE64_LINE_LENGTH)
Definition: base64.hpp:65
static const size_t BUFFERSIZE
Definition: base64.hpp:63
int decode(const char *encoded, size_t encodedSize, void *data, size_t dataMaxSize)
Definition: base64.hpp:129