Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

UncompressContainer Class Reference

#include <UnCompCont.hpp>

List of all members.

Public Methods

void * operator new (size_t size)
void operator delete (void *ptr)
void SetSize (unsigned long mysize)
unsigned long GetSize ()
void AllocateContMem (unsigned long mincontsize)
void ReleaseContMem ()
void UncompressSmallContainer (SmallBlockUncompressor *uncompressor)
void UncompressLargeContainer (Input *input)
unsigned char * GetDataPtr ()
unsigned char * GetDataPtr (int len)
unsigned long LoadUInt32 ()
unsigned long LoadSInt32 (char *isneg)
long LoadSInt32 ()
char LoadChar ()
unsigned char * LoadString (unsigned *len)


Member Function Documentation

void UncompressContainer::AllocateContMem unsigned long    mincontsize [inline]
 

Definition at line 42 of file UnCompCont.cpp.

00046 {
00047    if((dataptr!=NULL)||(size<mincontsize))
00048       return;
00049 
00050    curptr=dataptr=AllocateMemBlock(size);
00051 }

unsigned char* UncompressContainer::GetDataPtr int    len [inline]
 

Definition at line 81 of file UnCompCont.hpp.

00082    {
00083       curptr+=len;
00084       return curptr-len;
00085    }

unsigned char* UncompressContainer::GetDataPtr   [inline]
 

Definition at line 79 of file UnCompCont.hpp.

00079 {  return curptr; }

unsigned long UncompressContainer::GetSize   [inline]
 

Definition at line 64 of file UnCompCont.hpp.

Referenced by UncompressContainerBlock::UncompressLargeContainers(), and UncompressContainerBlock::UncompressSmallContainers().

00064 {  return size;   }

char UncompressContainer::LoadChar   [inline]
 

Definition at line 108 of file UnCompCont.hpp.

00109    {
00110       return ::LoadChar(curptr);
00111    }

long UncompressContainer::LoadSInt32   [inline]
 

Definition at line 98 of file UnCompCont.hpp.

00099    {
00100       char isneg;
00101       long val=::LoadSInt32(curptr,&isneg);
00102       if(isneg)
00103          return 0L-val;
00104       else
00105          return val;
00106    }

unsigned long UncompressContainer::LoadSInt32 char *    isneg [inline]
 

Definition at line 93 of file UnCompCont.hpp.

00094    {
00095       return ::LoadSInt32(curptr,isneg);
00096    }

unsigned char* UncompressContainer::LoadString unsigned *    len [inline]
 

Definition at line 113 of file UnCompCont.hpp.

00114    {
00115       *len=LoadUInt32();
00116 
00117       curptr+=*len;
00118       return curptr-*len;
00119    }

unsigned long UncompressContainer::LoadUInt32   [inline]
 

Definition at line 88 of file UnCompCont.hpp.

Referenced by LoadString().

00089    {
00090       return ::LoadUInt32(curptr);
00091    }

void UncompressContainer::ReleaseContMem   [inline]
 

Definition at line 223 of file UnCompCont.cpp.

Referenced by UncompressContainerBlock::ReleaseContMem().

00224 {
00225    FreeMemBlock(dataptr,size);
00226 }

void UncompressContainer::SetSize unsigned long    mysize [inline]
 

Definition at line 57 of file UnCompCont.hpp.

00060    {
00061       dataptr=curptr=NULL;
00062       size=mysize;
00063    }

void UncompressContainer::UncompressLargeContainer Input   input
 

Definition at line 147 of file UnCompCont.cpp.

Referenced by UncompressContainerBlock::UncompressLargeContainers().

00150 {
00151    Uncompressor uncompress;
00152    unsigned long  uncompsize=size;
00153 
00154    uncompress.Uncompress(input,dataptr,&uncompsize);
00155    if(uncompsize!=size)
00156    {
00157       Error("Corrupt file!");
00158       Exit();
00159    }
00160 }

void UncompressContainer::UncompressSmallContainer SmallBlockUncompressor   uncompressor
 

Definition at line 139 of file UnCompCont.cpp.

Referenced by UncompressContainerBlock::UncompressSmallContainers().

00142 {
00143    unsigned char *srcptr=uncompressor->LoadData(size);
00144    memcpy(dataptr,srcptr,size);
00145 }

void UncompressContainer::operator delete void *    ptr [inline]
 

Definition at line 55 of file UnCompCont.hpp.

00055 {}

void* UncompressContainer::operator new size_t    size [inline]
 

Definition at line 54 of file UnCompCont.hpp.

00054 {  return blockmem.GetByteBlock(size); }


The documentation for this class was generated from the following files:
Generated on Sat Oct 13 16:08:56 2001 for XMILL by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001