#include <UnCompCont.hpp>
Public Methods | |
| void * | operator new (size_t size) |
| void | operator delete (void *ptr) |
| void | Load (SmallBlockUncompressor *uncompressor) |
| void | AllocateContMem (unsigned long mincontsize) |
| void | ReleaseContMem () |
| void | UncompressSmallContainers (SmallBlockUncompressor *uncompressor) |
| void | UncompressLargeContainers (Input *input) |
| UncompressContainer * | GetContainer (unsigned idx) |
| UserUncompressor * | GetUserUncompressor () |
| char * | GetUserDataPtr () |
| void | Init () |
| void | UncompressText (ISAXClient *output) |
| void | FinishUncompress () |
|
|
Definition at line 84 of file UnCompCont.cpp. 00086 {
00087 for(unsigned i=0;i<contnum;i++)
00088 contarray[i].AllocateContMem(mincontsize);
00089 };
|
|
|
Definition at line 183 of file UnCompCont.hpp. Referenced by UncompressContainerMan::FinishUncompress().
00186 {
00187 if(pathexpr!=NULL)
00188 pathexpr->GetUserUncompressor()->FinishUncompress(GetContainer(0),GetUserDataPtr());
00189 }
|
|
|
Definition at line 156 of file UnCompCont.hpp. 00156 { return contarray+idx; }
|
|
|
Definition at line 163 of file UnCompCont.hpp. 00165 {
00166 return (char *)(contarray+contnum);
00167 }
|
|
|
Definition at line 158 of file UnCompCont.hpp. 00159 {
00160 return pathexpr->GetUserUncompressor();
00161 }
|
|
|
Definition at line 169 of file UnCompCont.hpp. 00172 {
00173 if(pathexpr!=NULL)
00174 GetUserUncompressor()->InitUncompress(GetContainer(0),GetUserDataPtr());
00175 }
|
|
|
Definition at line 53 of file UnCompCont.cpp. 00056 {
00057 // Let's load the index of the path expression
00058 unsigned long pathidx=uncompressor->LoadUInt32();
00059 if(pathidx!=0)
00060 pathexpr=pathexprman.GetPathExpr(pathidx-1);
00061 else
00062 pathexpr=NULL;
00063
00064 // Let's load the number of containers
00065 contnum=uncompressor->LoadUInt32();
00066
00067 if((pathexpr!=NULL)&&(pathexpr->GetUserContNum()!=contnum))
00068 {
00069 Error("Corrupt compressed file !");
00070 Exit();
00071 }
00072
00073 // Let's allocate some memory for the container structures
00074 // and the necessary state space
00075 contarray=(UncompressContainer *)blockmem.GetByteBlock(
00076 sizeof(UncompressContainer)*contnum+
00077 ((pathexpr!=NULL) ? pathexpr->GetUserDataSize() : 0));
00078
00079 // let's load the size of each single container
00080 for(unsigned i=0;i<contnum;i++)
00081 contarray[i].SetSize(uncompressor->LoadUInt32());
00082 };
|
|
|
Definition at line 228 of file UnCompCont.cpp. Referenced by UncompressContainerMan::ReleaseContMem().
00229 {
00230 for(unsigned long i=0;i<contnum;i++)
00231 contarray[i].ReleaseContMem();
00232 }
|
|
|
Definition at line 177 of file UnCompCont.cpp. 00180 {
00181 for(unsigned long i=0;i<contnum;i++)
00182 {
00183 if(contarray[i].GetSize()>=SMALLCONT_THRESHOLD)
00184 contarray[i].UncompressLargeContainer(input);
00185 }
00186 }
|
|
|
Definition at line 164 of file UnCompCont.cpp. 00167 {
00168 unsigned long i;
00169
00170 for(i=0;i<contnum;i++)
00171 {
00172 if(contarray[i].GetSize()<SMALLCONT_THRESHOLD)
00173 contarray[i].UncompressSmallContainer(uncompressor);
00174 }
00175 }
|
|
|
Definition at line 177 of file UnCompCont.hpp. 00179 {
00180 GetUserUncompressor()->UncompressItem(GetContainer(0),GetUserDataPtr(),output);
00181 }
|
|
|
Definition at line 140 of file UnCompCont.hpp. 00140 {}
|
|
|
Definition at line 139 of file UnCompCont.hpp. 00139 { return blockmem.GetByteBlock(size); }
|
1.2.11.1 written by Dimitri van Heesch,
© 1997-2001