PPL6-Icon Patrick's Programming Library Version 6.4.21 - Dokumentation
ppl6::CBinary Klassenreferenz

Klasse für Binäre Daten. Mehr ...

Öffentliche Typen

enum  PPLDataType {
  UNKNOWN =0, CINT =2, CSTRING =4, CASSOCARRAY =5,
  CBINARY =6, CWSTRING =8, CARRAY =9, CBOOL =10,
  CDATETIME =11
}
 Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden. Mehr ...
 

Öffentliche Methoden

 CBinary ()
 Konstruktor der CBinary-Klasse. Mehr ...
 
 CBinary (CFileObject &file)
 
 CBinary (const CBinary &bin)
 
 CBinary (const CString &str)
 
 CBinary (const CWString &str)
 
 CBinary (const CMemoryReference &mem)
 
 CBinary (const char *str)
 
 ~CBinary ()
 Destruktor der CBinary-Klasse. Mehr ...
 
void * Calloc (size_t size)
 
int CheckMD5 (const CString &md5) const
 MD5-Summe überprüfen. Mehr ...
 
void Clear ()
 
int Concat (void *ptr, size_t size)
 
int Copy (const CMemoryReference &memory)
 
int Copy (const void *ptr, size_t size)
 
int Copy (const char *str)
 
int Copy (CFileObject &file)
 
int Copy (const CVar &bin)
 
int DataType () const
 Liefert den Datentyp des Objekts zurück. Mehr ...
 
int FromHex (const CString &s)
 
char Get (size_t pos) const
 
CString GetMD5Sum () const
 MD5-Summe berechnen. Mehr ...
 
void * GetPtr () const
 
size_t GetSize () const
 
void HexDump () const
 
void HexDump (CString &s) const
 
int IsType (int type) const
 
size_t Len () const
 
int Load (const CString &filename)
 
int Loadf (const char *filename,...)
 
void * Malloc (size_t size)
 
void ManageMemory ()
 CBinary-Klasse soll den Speicher verwalten. Mehr ...
 
 operator CMemoryReference () const
 
CBinaryoperator= (CFileObject &file)
 
CBinaryoperator= (const CBinary &bin)
 
CBinaryoperator= (const CBinary *bin)
 
CBinaryoperator= (const CString &str)
 
CBinaryoperator= (const CMemoryReference &mem)
 
CBinaryoperator= (const CWString &str)
 
CBinaryoperator= (const char *str)
 
char operator[] (size_t pos) const
 
int Save (const CString &filename) const
 
int Savef (const char *filename,...) const
 
int Set (void *ptr, size_t size)
 
int Set (CFileObject &file)
 
int Set (const CVar &object)
 
int Set (const CMemoryReference &memory)
 
size_t Size () const
 
int ToFile (CMemFile *File)
 Binary einer File-Klasse zuweisen. Mehr ...
 
CString ToHex () const
 

Geschützte Attribute

ppluint8 type
 

Private Methoden

void ClearInternal ()
 
void InitInternal ()
 

Private Attribute

void * data
 
void * ptr
 
size_t size
 

Ausführliche Beschreibung

Die Klasse CBinary wird verwendet, um Binäre Daten zu speichern

Version
6.0.16

Dokumentation der Aufzählungstypen

enum ppl6::CVar::PPLDataType
inherited

Enumeration der verschiedenen Datenobjekte, die in der Library verwendet werden

Seit
Wurde mit Version 6.3.0 eingeführt.
Aufzählungswerte
UNKNOWN 

Unbekannter Datentyp.

CINT 

Klasse vom Typ CInt.

CSTRING 

Klasse vom Typ CString.

CASSOCARRAY 

Klasse vom Typ CAssocArray.

CBINARY 

Klasse vom Typ CBinary.

CWSTRING 

Klasse vom Typ CWString.

CARRAY 

Klasse vom Typ CArray.

CBOOL 

Klasse vom Typ CBool.

CDATETIME 

Klasse vom Typ CDateTime.

Beschreibung der Konstruktoren und Destruktoren

ppl6::CBinary::CBinary ( )

Dies ist der Konstruktor der CBinary-Klasse. Er initialisiert die internen Datenstrukturen.

ppl6::CBinary::~CBinary ( )

Dies ist der Destruktor der CBinary-Klasse. Er sorgt dafür, dass durch diese Klasse allokierter Speicher wieder freigegeben wird und deinitialisiert die internen Datenstrukturen.

Version
6.0.16
ppl6::CBinary::CBinary ( CFileObject file)
ppl6::CBinary::CBinary ( const CBinary bin)
ppl6::CBinary::CBinary ( const CString str)
ppl6::CBinary::CBinary ( const CWString str)
ppl6::CBinary::CBinary ( const CMemoryReference mem)
ppl6::CBinary::CBinary ( const char *  str)

Dokumentation der Elementfunktionen

void * ppl6::CBinary::Calloc ( size_t  size)
int ppl6::CBinary::CheckMD5 ( const CString md5) const

Diese Funktion berechnet die MD5-Summe der binären Daten in diesem Objekt und vergleicht sie mit dem angegebenen String.

Parameter
md5Ein Pointer auf eine CString-Klasse, die den erwarteten MD5-Hash enthält
Rückgabe
Bei Erfolg liefert die Funktion true (1) zurück, im Fehlerfall false (0).
Version
6.0.16
void ppl6::CBinary::Clear ( )
void ppl6::CBinary::ClearInternal ( )
private
int ppl6::CBinary::Concat ( void *  ptr,
size_t  size 
)
int ppl6::CBinary::Copy ( const CMemoryReference memory)
int ppl6::CBinary::Copy ( const void *  ptr,
size_t  size 
)
int ppl6::CBinary::Copy ( const char *  str)
int ppl6::CBinary::Copy ( CFileObject file)
int ppl6::CBinary::Copy ( const CVar bin)
int CVar::DataType ( ) const
inherited

Diese Funktion liefert den Datentyp des Objekts zurück.

Rückgabe
ID aus der Enumeration CVar::PPLDataType
Seit
Wurde mit Version 6.3.0 eingeführt.
int ppl6::CBinary::FromHex ( const CString s)
char ppl6::CBinary::Get ( size_t  pos) const
CString ppl6::CBinary::GetMD5Sum ( ) const

Diese Funktion berechnet die MD5-Summe der binären Daten und gibt diese als CString zurück.

Rückgabe
Die Funktion liefert ein CString-Objekt zurück. Bei Erfolg enthält dieses die MD5-Summe, im Fehlerfall ist es leer. Ein Fehler kann auftreten, wenn die CBinary-Klasse keine Daten enthalten hat, bei der Berechnung der MD5-Summe ein Fehler aufgetreten ist, oder der angegebene Buffer NULL ist.
Version
6.0.16
void * ppl6::CBinary::GetPtr ( ) const
size_t ppl6::CBinary::GetSize ( ) const
void ppl6::CBinary::HexDump ( ) const
void ppl6::CBinary::HexDump ( CString s) const
void ppl6::CBinary::InitInternal ( )
private
int CVar::IsType ( int  type) const
inherited
size_t ppl6::CBinary::Len ( ) const
int ppl6::CBinary::Load ( const CString filename)
int ppl6::CBinary::Loadf ( const char *  filename,
  ... 
)
void * ppl6::CBinary::Malloc ( size_t  size)
void ppl6::CBinary::ManageMemory ( )

Bei einigen Funktionen übernimmt die CBinary-Klasse nur Pointer auf Speicherbereiche, verwaltet diesen aber nicht. Durch Aufruf dieser Funktion wird der Klasse mitgeteilt, dass sie die Verwaltung des Speichers übernehmen soll. Das bewirkt, dass beim Löschen oder einer Neuzuordnung der vorher definierte Speicher wieder freigegeben wird. Dazu wird die Funktion "free" verwendet.

Seit
Diese Funktion wurde in Version 6.2.2 hinzugefügt
ppl6::CBinary::operator CMemoryReference ( ) const
CBinary& ppl6::CBinary::operator= ( CFileObject file)
CBinary & ppl6::CBinary::operator= ( const CBinary bin)
CBinary & ppl6::CBinary::operator= ( const CBinary bin)
CBinary & ppl6::CBinary::operator= ( const CString str)
CBinary & ppl6::CBinary::operator= ( const CMemoryReference mem)
CBinary & ppl6::CBinary::operator= ( const CWString str)
CBinary & ppl6::CBinary::operator= ( const char *  str)
char ppl6::CBinary::operator[] ( size_t  pos) const
int ppl6::CBinary::Save ( const CString filename) const
int ppl6::CBinary::Savef ( const char *  filename,
  ... 
) const
int ppl6::CBinary::Set ( void *  ptr,
size_t  size 
)
int ppl6::CBinary::Set ( CFileObject file)
int ppl6::CBinary::Set ( const CVar object)
int ppl6::CBinary::Set ( const CMemoryReference memory)
size_t ppl6::CBinary::Size ( ) const
int ppl6::CBinary::ToFile ( CMemFile File)

Die in der Klasse enthaltenen Daten werden einer CFile-Klasse (genauer: CMemFile) zugewiesen.

Parameter
[in]FilePointer auf eine gültige CMemFile-Klasse
Rückgabe
Bei Erfolg liefert die Klasse true (1) zurück, im Fehlerfall false (0).
Zu beachten
Das Binary wird nicht kopiert, sondern nur die interne Adresse an die File-Klasse übergeben. Das CBinary-Objekt darf daher nicht verändert oder gelöscht werden, solange die File-Klasse noch verwendet wird!
CString ppl6::CBinary::ToHex ( ) const

Dokumentation der Datenelemente

void* ppl6::CBinary::data
private
void* ppl6::CBinary::ptr
private
size_t ppl6::CBinary::size
private
ppluint8 ppl6::CVar::type
protectedinherited

Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: