// Program name: cffdrmgr.h // Programmed by: Anthony Barbachan // Programmed in: C++ (Turbo C++ 3.0 Compatable) // Purpose: source file for cabinet file types and constants. // Version: 1.00 // Last modified on: 10/18/1999 // Changes: Moved class definition to this header file. #ifndef __CFFDRMGR_H__ #define __CFFDRMGR_H__ #include #include #include #include #include #include //////////////////////////////////////////////////////////////////////////////// class cabinet_folder_manager : public cabinet_folder_header { protected: enum COMPRESSION_STATE_FLAG { COMP_INIT, COMP_DOBLOCK_NOWRITE, COMP_DOBLOCK_WRITE, COMP_END }; z_stream* stream; public: cabinet_folder_manager() { stream = NULL; } ~cabinet_folder_manager() { if(stream != NULL) delete stream; } int extract_data(ostream& out, istream& in, dword start, dword nbytes, cabinet_header& cab_header); int write_data(ostream& out, cabinet_datablock& block, word offset, word nbytes, COMPRESSION_STATE_FLAG state); }; //////////////////////////////////////////////////////////////////////////////// #endif