Files
ANSLibs/chilkat/include/CkBinData.h

407 lines
15 KiB
C++

// CkBinData.h: interface for the CkBinData class.
//
//////////////////////////////////////////////////////////////////////
// This header is generated for Chilkat 11.3.0
#define _CkVersion 11.3.0
#ifndef _CkBinData_H
#define _CkBinData_H
#include "chilkatDefs.h"
#include "CkString.h"
#include "CkMultiByteBase.h"
class CkByteData;
class CkStringBuilder;
#if !defined(__sun__) && !defined(__sun)
#pragma pack (push, 8)
#endif
#undef Copy
// CLASS: CkBinData
class CK_VISIBLE_PUBLIC CkBinData : public CkMultiByteBase
{
private:
// Don't allow assignment or copying these objects.
CkBinData(const CkBinData &);
CkBinData &operator=(const CkBinData &);
public:
CkBinData(void);
virtual ~CkBinData(void);
static CkBinData *createNew(void);
static CkBinData *createNew2(int progLang);
void CK_VISIBLE_PRIVATE inject(void *impl);
// May be called when finished with the object to free/dispose of any
// internal resources held by the object.
void dispose(void);
const unsigned char *getBinaryDataPtr(void);
unsigned long getSize(void);
// BEGIN PUBLIC INTERFACE
// ----------------------
// Properties
// ----------------------
// The number of bytes contained within the object.
int get_NumBytes(void);
// ----------------------
// Methods
// ----------------------
// Appends the contents of another BinData to this object.
bool AppendBd(CkBinData &binData);
// Appends binary data to the current contents, if any.
bool AppendBinary(CkByteData &data);
// Appends the appropriate BOM (byte order mark), also known as a preamble , for
// the given charset. If the charset has no defined BOM, then nothing is appended. An
// application would typically call this to append the utf-8, utf-16, or utf-32
// BOM.
bool AppendBom(const char *charset);
// Appends a single byte. The byteValue should be a value from 0 to 255.
bool AppendByte(int byteValue);
// Appends a byte count followed by the string in the desired character encoding,
// such as utf-8 . The numCountBytes is the size in bytes of the integer to represent the
// byte count. If 0, then a minimal number of bytes is used. If bigEndian is true, the
// byte count is appended in big endian byte ordering, otherwise little-ending byte
// ordering. The str is the string to be appended. The charset is the character
// encoding, such as utf-8 , utf-16 , windows-1252 , etc.
bool AppendCountedString(int numCountBytes, bool bigEndian, const char *str, const char *charset);
// Appends binary data to the current contents.
bool AppendData(const void *data, int numBytes);
// Appends encoded binary data to the current data. The encoding may be Base64 ,
// modBase64 , base64Url , Base32 , Base58 , QP (for quoted-printable), URL (for
// url-encoding), Hex , or any of the encodings found at Chilkat Binary Encodings
// List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool AppendEncoded(const char *encData, const char *encoding);
// Decodes the contents of sb and appends the decoded bytes to this object. The
// encoding may be Base64 , modBase64 , base64Url , Base32 , Base58 , QP (for
// quoted-printable), URL (for url-encoding), Hex , or any of the encodings found
// at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool AppendEncodedSb(CkStringBuilder &sb, const char *encoding);
// Appends a 16-bit integer (2 bytes). If littleEndian is true, then the integer bytes
// are appended in little-endian byte order, otherwise big-endian byte order is
// used.
bool AppendInt2(int value, bool littleEndian);
// Appends a 32-bit integer (4 bytes). If littleEndian is true, then the integer bytes
// are appended in little-endian byte order, otherwise big-endian byte order is
// used.
bool AppendInt4(int value, bool littleEndian);
// Appends a string to this object, padded to the fieldLen with NULL or SPACE chars. If
// padWithSpace is true, then SPACE chars are used and the string is not null-terminated.
// If fieldLen is false, then null bytes are used. The charset controls the byte
// representation to use, such as utf-8 .
//
// Note: This call will always append a total number of bytes equal to fieldLen. If the
// str is longer than fieldLen, the method returns false to indicate failure and
// nothing is appended.
//
bool AppendPadded(const char *str, const char *charset, bool padWithSpace, int fieldLen);
// Appends the contents of a StringBuilder to this object.
bool AppendSb(CkStringBuilder &sb, const char *charset);
// Appends a string to this object. (This does not append the BOM. If a BOM is
// required, the AppendBom method can be called to append the appropriate BOM.)
bool AppendString(const char *str, const char *charset);
// Does either 16-bit or 32-bit byte swapping of the entire contents. If size
// equals 16, then swaps in 2 bytes (e.g., 0x1234 → 0x3412). If size equals 32,
// then swaps 4 bytes (e.g., 0x12345678 → 0x78563412)
void ByteSwap(int size);
// This method converts the character encoding of an object's contents from one
// format to another, such as from Windows-1252 to UTF-8. The allOrNone parameter
// determines error handling for unrepresentable bytes. If allOrNone is true, the
// object's contents remain unchanged when errors occur. If false, error bytes
// are discarded. The method returns true if successful and false if errors
// occur.
bool CharsetConvert(const char *fromCharset, const char *toCharset, bool allOrNone);
// Clears the contents.
bool Clear(void);
// Return true if the contents of this object equals the contents of binData.
bool ContentsEqual(CkBinData &binData);
// Return the index where the first occurrence of str is found. Return -1 if not
// found. The startIdx indicates the byte index where the search begins. The charset
// specifies the byte representation of str that is to be searched. For example,
// it can be utf-8 , windows-1252 , ansi , utf-16 , etc.
int FindString(const char *str, int startIdx, const char *charset);
// Retrieves the binary data contained within the object.
bool GetBinary(CkByteData &outBytes);
// Retrieves a chunk of the binary data contained within the object.
bool GetBinaryChunk(int offset, int numBytes, CkByteData &outBytes);
// Returns the value of the byte at the given index. The returned value is an
// integer from 0 to 255.
int GetByte(int index);
// Retrieves the binary data contained within the object.
const void *GetData(void);
// Retrieves a chunk of the binary data contained within the object.
const void *GetDataChunk(int offset, int numBytes);
// Retrieves the binary data as an encoded string. The encoding may be Base64 ,
// modBase64 , base64Url , Base32 , Base58 , QP (for quoted-printable), URL (for
// url-encoding), Hex , or any of the encodings found at Chilkat Binary Encodings
// List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool GetEncoded(const char *encoding, CkString &outStr);
// Retrieves the binary data as an encoded string. The encoding may be Base64 ,
// modBase64 , base64Url , Base32 , Base58 , QP (for quoted-printable), URL (for
// url-encoding), Hex , or any of the encodings found at Chilkat Binary Encodings
// List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *getEncoded(const char *encoding);
// Retrieves the binary data as an encoded string. The encoding may be Base64 ,
// modBase64 , base64Url , Base32 , Base58 , QP (for quoted-printable), URL (for
// url-encoding), Hex , or any of the encodings found at Chilkat Binary Encodings
// List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *encoded(const char *encoding);
// Retrieves a chunk of the binary data and returns it in encoded form. The encoding
// may be Base64 , modBase64 , base64Url , Base32 , Base58 , QP (for
// quoted-printable), URL (for url-encoding), Hex , or any of the encodings found
// at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool GetEncodedChunk(int offset, int numBytes, const char *encoding, CkString &outStr);
// Retrieves a chunk of the binary data and returns it in encoded form. The encoding
// may be Base64 , modBase64 , base64Url , Base32 , Base58 , QP (for
// quoted-printable), URL (for url-encoding), Hex , or any of the encodings found
// at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *getEncodedChunk(int offset, int numBytes, const char *encoding);
// Retrieves a chunk of the binary data and returns it in encoded form. The encoding
// may be Base64 , modBase64 , base64Url , Base32 , Base58 , QP (for
// quoted-printable), URL (for url-encoding), Hex , or any of the encodings found
// at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *encodedChunk(int offset, int numBytes, const char *encoding);
// Writes the encoded data to a StringBuilder. The encoding may be Base64 , modBase64 ,
// base64Url , Base32 , Base58 , QP (for quoted-printable), URL (for url-encoding),
// Hex , or any of the encodings found at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool GetEncodedSb(const char *encoding, CkStringBuilder &sb);
// Returns the hash of the contents of this object. The algorithm is the hash algorithm,
// and can be sha1 , sha256 , sha384 , sha512 , sha3-224 , sha3-256 , sha3-384 ,
// sha3-512 , md2 , md5 , ripemd128 , ripemd160 , ripemd256 , or ripemd320 . The
// encoding can be base64 , modBase64 , base64Url , base32 , base58 , qp (for
// quoted-printable), url (for url-encoding), hex , hexLower , or any of the
// encodings found at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool GetHash(const char *algorithm, const char *encoding, CkString &outStr);
// Returns the hash of the contents of this object. The algorithm is the hash algorithm,
// and can be sha1 , sha256 , sha384 , sha512 , sha3-224 , sha3-256 , sha3-384 ,
// sha3-512 , md2 , md5 , ripemd128 , ripemd160 , ripemd256 , or ripemd320 . The
// encoding can be base64 , modBase64 , base64Url , base32 , base58 , qp (for
// quoted-printable), url (for url-encoding), hex , hexLower , or any of the
// encodings found at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *getHash(const char *algorithm, const char *encoding);
// Returns the hash of the contents of this object. The algorithm is the hash algorithm,
// and can be sha1 , sha256 , sha384 , sha512 , sha3-224 , sha3-256 , sha3-384 ,
// sha3-512 , md2 , md5 , ripemd128 , ripemd160 , ripemd256 , or ripemd320 . The
// encoding can be base64 , modBase64 , base64Url , base32 , base58 , qp (for
// quoted-printable), url (for url-encoding), hex , hexLower , or any of the
// encodings found at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
const char *hash(const char *algorithm, const char *encoding);
// Returns the value of the 16-bit signed integer stored in big-endian or
// little-endian byte ordering at the given index.
int GetInt2(int index, bool littleEndian);
// Returns the value of the 32-bit signed integer stored in big-endian or
// little-endian byte ordering at the given index.
int GetInt4(int index, bool littleEndian);
// Interprets the bytes according to charset and returns the string. The charset can be
// utf-8 , utf-16 , ansi , iso-8859-* , windows-125* , or any of the supported
// character encodings listed in the link below.
bool GetString(const char *charset, CkString &outStr);
// Interprets the bytes according to charset and returns the string. The charset can be
// utf-8 , utf-16 , ansi , iso-8859-* , windows-125* , or any of the supported
// character encodings listed in the link below.
const char *getString(const char *charset);
// Interprets the bytes according to charset and returns the string. The charset can be
// utf-8 , utf-16 , ansi , iso-8859-* , windows-125* , or any of the supported
// character encodings listed in the link below.
const char *string(const char *charset);
// Returns numBytes bytes starting at startIdx. The bytes are interpreted according to charset
// (for example, utf-8 , ansi , utf-16 , windows-1252 , etc.)
bool GetTextChunk(int startIdx, int numBytes, const char *charset, CkString &outStr);
// Returns numBytes bytes starting at startIdx. The bytes are interpreted according to charset
// (for example, utf-8 , ansi , utf-16 , windows-1252 , etc.)
const char *getTextChunk(int startIdx, int numBytes, const char *charset);
// Returns numBytes bytes starting at startIdx. The bytes are interpreted according to charset
// (for example, utf-8 , ansi , utf-16 , windows-1252 , etc.)
const char *textChunk(int startIdx, int numBytes, const char *charset);
// Returns the value of the 16-bit unsigned integer stored in big-endian or
// little-endian byte ordering at the given index.
unsigned long GetUInt2(int index, bool littleEndian);
// Returns the value of the 32-bit unsigned integer stored in big-endian or
// little-endian byte ordering at the given index.
unsigned long GetUInt4(int index, bool littleEndian);
// Returns true if this object contains valid utf-8 byte sequences. Any invalid
// byte sequence that is not valid utf-8 will cause this function to return
// false.
bool IsValidUtf8(void);
// Loads binary data and replaces the current contents, if any.
bool LoadBinary(CkByteData &data);
// Loads binary data from an encoded string, replacing the current contents, if
// any. The encoding may be Base64 , modBase64 , base64Url , Base32 , Base58 , QP (for
// quoted-printable), URL (for url-encoding), Hex , or any of the encodings found
// at Chilkat Binary Encodings List.
//
// References:
// 1: https://www.chilkatsoft.com/binary_encodings.asp
bool LoadEncoded(const char *encData, const char *encoding);
// Loads data from a file.
bool LoadFile(const char *path);
// Removes bytes having a specified value (0-255). For example, to remove all null
// bytes, pass 0 in value.
void RemoveByteVal(int value);
// Removes a chunk of bytes from the binary data.
bool RemoveChunk(int offset, int numBytes);
// Securely clears the contents by writing 0 bytes to the memory prior to
// deallocating the internal memory.
bool SecureClear(void);
// Appends the contents of this object to a file.
bool WriteAppendFile(const char *path);
// Writes the contents to a file.
bool WriteFile(const char *path);
// END PUBLIC INTERFACE
};
#if !defined(__sun__) && !defined(__sun)
#pragma pack (pop)
#endif
#endif