#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 (XMLOutput *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); } |