2003-08-24 10:36:07 +00:00
|
|
|
/*
|
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS cabinet manager
|
|
|
|
* FILE: tools/cabman/cabman.h
|
|
|
|
* PURPOSE: Cabinet manager header
|
|
|
|
*/
|
|
|
|
#ifndef __CABMAN_H
|
|
|
|
#define __CABMAN_H
|
|
|
|
|
|
|
|
#include "cabinet.h"
|
|
|
|
#include "dfp.h"
|
|
|
|
|
|
|
|
/* Cabinet manager modes */
|
|
|
|
#define CM_MODE_CREATE 0
|
|
|
|
#define CM_MODE_DISPLAY 1
|
|
|
|
#define CM_MODE_EXTRACT 2
|
2003-09-01 15:43:25 +00:00
|
|
|
#define CM_MODE_CREATE_SIMPLE 3
|
2003-08-24 10:36:07 +00:00
|
|
|
|
|
|
|
/* Classes */
|
|
|
|
|
|
|
|
class CCABManager : public CDFParser {
|
|
|
|
public:
|
2008-02-02 11:57:16 +00:00
|
|
|
CCABManager();
|
|
|
|
virtual ~CCABManager();
|
|
|
|
bool ParseCmdline(int argc, char* argv[]);
|
|
|
|
bool Run();
|
2003-08-24 10:36:07 +00:00
|
|
|
private:
|
2008-02-02 11:57:16 +00:00
|
|
|
void Usage();
|
|
|
|
bool CreateCabinet();
|
|
|
|
bool DisplayCabinet();
|
|
|
|
bool ExtractFromCabinet();
|
|
|
|
/* Event handlers */
|
|
|
|
virtual bool OnOverwrite(PCFFILE File, char* FileName);
|
|
|
|
virtual void OnExtract(PCFFILE File, char* FileName);
|
|
|
|
virtual void OnDiskChange(char* CabinetName, char* DiskLabel);
|
|
|
|
virtual void OnAdd(PCFFILE Entry, char* FileName);
|
|
|
|
/* Configuration */
|
|
|
|
bool ProcessAll;
|
|
|
|
ULONG Mode;
|
|
|
|
bool PromptOnOverwrite;
|
|
|
|
char FileName[MAX_PATH];
|
2003-08-24 10:36:07 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* __CABMAN_H */
|
|
|
|
|
|
|
|
/* EOF */
|