| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        base64.h
 
- // Purpose:     interface of global functions
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- // ============================================================================
 
- // Global functions/macros
 
- // ============================================================================
 
- /** @addtogroup group_funcmacro_misc */
 
- //@{
 
- /** 
 
-     Elements of this enum specify the possible behaviours of wxBase64Decode
 
-     when an invalid character is encountered.
 
- */
 
- enum wxBase64DecodeMode
 
- {
 
-     wxBase64DecodeMode_Strict,  ///< Normal behaviour: stop at any invalid characters.
 
-     wxBase64DecodeMode_SkipWS,  ///< Skip whitespace characters.
 
-     wxBase64DecodeMode_Relaxed  ///< The most lenient behaviour: simply ignore all invalid characters.
 
- };
 
- /**
 
-     This function encodes the given data using base64.
 
-     To allocate the buffer of the correct size, use wxBase64EncodedSize() or
 
-     call this function with @a dst set to @NULL -- it will then return the
 
-     necessary buffer size.
 
-     This raw encoding function overload writes the output string into the
 
-     provided buffer; the other overloads return it as a wxString.
 
-     @param dst
 
-         The output buffer, may be @NULL to retrieve the needed buffer size.
 
-     @param dstLen
 
-         The output buffer size, ignored if dst is @NULL.
 
-     @param src
 
-         The input buffer, must not be @NULL.
 
-     @param srcLen
 
-         The length of the input data.
 
-     @return @c wxCONV_FAILED if the output buffer is too small.
 
-     @header{wx/base64.h}
 
- */
 
- size_t wxBase64Encode(char* dst, size_t dstLen,
 
-                       const void* src,
 
-                       size_t srcLen);
 
- /**
 
-     This function encodes the given data using base64 and returns the output as
 
-     a wxString.
 
-     There is no error return.
 
-     To allocate the buffer of the correct size, use wxBase64EncodedSize() or
 
-     call this function with @a dst set to @NULL -- it will then return the
 
-     necessary buffer size.
 
-     @param src
 
-         The input buffer, must not be @NULL.
 
-     @param srcLen
 
-         The length of the input data.
 
-     @header{wx/base64.h}
 
- */
 
- wxString wxBase64Encode(const void* src, size_t srcLen);
 
- /**
 
-     This function encodes the given data using base64 and returns the output as
 
-     a wxString.
 
-     There is no error return.
 
-     @header{wx/base64.h}
 
- */
 
- wxString wxBase64Encode(const wxMemoryBuffer& buf);
 
- /**
 
-     Returns the size of the buffer necessary to contain the data encoded in a
 
-     base64 string of length @e srcLen. This can be useful for allocating a
 
-     buffer to be passed to wxBase64Decode().
 
-     @header{wx/base64.h}
 
- */
 
- size_t wxBase64DecodedSize(size_t srcLen);
 
- /**
 
-     Returns the length of the string with base64 representation of a buffer of
 
-     specified size @e len. This can be useful for allocating the buffer passed
 
-     to wxBase64Encode().
 
-     @header{wx/base64.h}
 
- */
 
- size_t wxBase64EncodedSize(size_t len);
 
- /**
 
-     This function decodes a Base64-encoded string.
 
-     This overload is a raw decoding function and decodes the data into the
 
-     provided buffer @a dst of the given size @e dstLen. An error is returned if
 
-     the buffer is not large enough -- that is not at least
 
-     wxBase64DecodedSize(srcLen) bytes. Notice that the buffer will @e not be
 
-     @NULL-terminated.
 
-     This overload returns the number of bytes written to the buffer or the
 
-     necessary buffer size if @a dst was @NULL or @c wxCONV_FAILED on error,
 
-     e.g. if the output buffer is too small or invalid characters were
 
-     encountered in the input string.
 
-     @param dst
 
-         Pointer to output buffer, may be @NULL to just compute the necessary
 
-         buffer size.
 
-     @param dstLen
 
-         The size of the output buffer, ignored if dst is @NULL.
 
-     @param src
 
-         The input string, must not be @NULL. For the version using wxString,
 
-         the input string should contain only ASCII characters.
 
-     @param srcLen
 
-         The length of the input string or special value wxNO_LEN if the string
 
-         is @NULL-terminated and the length should be computed by this function
 
-         itself.
 
-     @param mode
 
-         This parameter specifies the function behaviour when invalid characters
 
-         are encountered in input. By default, any such character stops the
 
-         decoding with error. If the mode is wxBase64DecodeMode_SkipWS, then the
 
-         white space characters are silently skipped instead. And if it is
 
-         wxBase64DecodeMode_Relaxed, then all invalid characters are skipped.
 
-     @param posErr
 
-         If this pointer is non-@NULL and an error occurs during decoding, it is
 
-         filled with the index of the invalid character.
 
-     @header{wx/base64.h}
 
- */
 
- size_t wxBase64Decode(void* dst, size_t dstLen,
 
-                       const char* src,
 
-                       size_t srcLen = wxNO_LEN,
 
-                       wxBase64DecodeMode mode = wxBase64DecodeMode_Strict,
 
-                       size_t *posErr = NULL);
 
- /**
 
-     Decode a Base64-encoded wxString.
 
-     See the wxBase64Decode(void*,size_t,const char*,size_t,wxBase64DecodeMode,size_t*)
 
-     overload for more information about the parameters of this function, the
 
-     only difference between it and this one is that a wxString is used instead
 
-     of a @c char* pointer and its length.
 
-     @since 2.9.1
 
-     @header{wx/base64.h}
 
-  */
 
- size_t wxBase64Decode(void* dst, size_t dstLen,
 
-                       const wxString& str,
 
-                       wxBase64DecodeMode mode = wxBase64DecodeMode_Strict,
 
-                       size_t *posErr = NULL);
 
- /**
 
-     Decode a Base64-encoded string and return decoded contents in a buffer.
 
-     See the wxBase64Decode(void*,size_t,const char*,size_t,wxBase64DecodeMode,size_t*)
 
-     overload for more information about the parameters of this function. The
 
-     difference of this overload is that it allocates a buffer of necessary size
 
-     on its own and returns it, freeing you from the need to do it manually.
 
-     Because of this, it is simpler to use and is recommended for normal use.
 
-     @header{wx/base64.h}
 
- */
 
- wxMemoryBuffer wxBase64Decode(const char* src,
 
-                               size_t srcLen = wxNO_LEN,
 
-                               wxBase64DecodeMode mode = wxBase64DecodeMode_Strict,
 
-                               size_t *posErr = NULL);
 
- /**
 
-     Decode a Base64-encoded wxString and return decoded contents in a buffer.
 
-     See the wxBase64Decode(void*,size_t,const char*,size_t,wxBase64DecodeMode,size_t*)
 
-     overload for more information about the parameters of this function.
 
-     This overload takes as input a wxString and returns the internally-allocated
 
-     memory as a wxMemoryBuffer, containing the Base64-decoded data.
 
-     @header{wx/base64.h}
 
- */
 
- wxMemoryBuffer wxBase64Decode(const wxString& src,
 
-                               wxBase64DecodeMode mode = wxBase64DecodeMode_Strict,
 
-                               size_t *posErr = NULL);
 
- //@}
 
 
  |