ciderpress/mdc/Main.h
2007-03-27 17:47:10 +00:00

72 lines
1.7 KiB
C++

/*
* CiderPress
* Copyright (C) 2007 by faddenSoft, LLC. All Rights Reserved.
* See the file LICENSE for distribution terms.
*/
/*
* Main frame window declarations.
*/
#ifndef __MAIN__
#define __MAIN__
#include "../diskimg/DiskImg.h"
#include "../prebuilt/NufxLib.h"
using namespace DiskImgLib;
struct Win32dirent;
struct ScanOpts;
typedef enum RecordKind {
kRecordKindUnknown = 0,
kRecordKindDisk,
kRecordKindFile,
kRecordKindForkedFile,
kRecordKindDirectory,
kRecordKindVolumeDir,
} RecordKind;
/*
* The main UI window.
*/
class MainWindow : public CFrameWnd {
public:
MainWindow(void);
~MainWindow(void);
private:
afx_msg void OnFileScan(void);
afx_msg void OnFileExit(void);
afx_msg void OnHelpWebSite(void);
afx_msg void OnHelpAbout(void);
BOOL PeekAndPump(void);
static void DebugMsgHandler(const char* file, int line,
const char* msg);
static NuResult NufxErrorMsgHandler(NuArchive* /*pArchive*/,
void* vErrorMessage);
void ScanFiles(void);
Win32dirent* OpenDir(const char* name);
Win32dirent* ReadDir(Win32dirent* dir);
void CloseDir(Win32dirent* dir);
int Process(const char* pathname, ScanOpts* pScanOpts,
CString* pErrMsg);
int ProcessDirectory(const char* dirName, ScanOpts* pScanOpts,
CString* pErrMsg);
int ScanDiskImage(const char* pathName, ScanOpts* pScanOpts);
int LoadDiskFSContents(DiskFS* pDiskFS, const char* volName,
ScanOpts* pScanOpts);
void AnalyzeFile(const A2File* pFile, RecordKind* pRecordKind,
LONGLONG* pTotalLen, LONGLONG* pTotalCompLen);
bool IsRecordReadOnly(int access);
static const char* GetFileTypeString(unsigned long fileType);
bool fCancelFlag;
//int fTitleAnimation;
DECLARE_MESSAGE_MAP()
};
#endif /*__MAIN__*/