temporaryfile.h

来自「骨骼动画....把魔兽模型解出的代码..」· C头文件 代码 · 共 70 行

H
70
字号
//+-----------------------------------------------------------------------------
//| Inclusion guard
//+-----------------------------------------------------------------------------
#ifndef MAGOS_TEMPORARY_FILE_H
#define MAGOS_TEMPORARY_FILE_H


//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "FileLoader.h"


//+-----------------------------------------------------------------------------
//| Structure of a file process
//+-----------------------------------------------------------------------------
struct FILE_PROCESS
{
	FILE_PROCESS(HANDLE NewHandle, CONST std::string& NewFileName)
	{
		Handle = NewHandle;
		FileName = NewFileName;
	}
	
	HANDLE Handle;
	std::string FileName;
};


//+-----------------------------------------------------------------------------
//| Temporary file class
//+-----------------------------------------------------------------------------
class TEMPORARY_FILE
{
	public:
		CONSTRUCTOR TEMPORARY_FILE();
		DESTRUCTOR ~TEMPORARY_FILE();

		BOOL CreateTemporaryFile(CONST std::string& FileName, BUFFER& Buffer);
		VOID DestroyTemporaryFile(CONST std::string& FileName);
		VOID DestroyAllTemporaryFiles();

		BOOL LaunchThread(FILE_PROCESS* FileProcess);

		std::string GetTemporaryDirectory();

	protected:
		VOID AssertTemporaryDirectory();
		BOOL DeleteFile(CONST std::string& FileName);

		HANDLE MutexLock;

		std::string TemporaryDirectory;
		std::set<std::string> FileNameList;

		static DWORD CALLBACK DestroyFileWhenNeccessary(DWORD Parameter);
};


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
extern TEMPORARY_FILE TemporaryFile;


//+-----------------------------------------------------------------------------
//| End of inclusion guard
//+-----------------------------------------------------------------------------
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?