⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filestreammanager.hpp

📁 机甲指挥官2源代码
💻 HPP
字号:
//===========================================================================//
// File:	filestrmmgr.hpp                                                  //
// Contents: Implementation Details of resource management                   //
//---------------------------------------------------------------------------//
// Copyright (C) Microsoft Corporation. All rights reserved.                 //
//===========================================================================//

#pragma once

#include "Stuff.hpp"
#include "FileStream.hpp"

namespace Stuff {

	//##########################################################################
	//#######################    FileDependencies    ###########################
	//##########################################################################

	class FileDependencies:
		public Stuff::Plug
	{
	public:
		FileDependencies();
		FileDependencies(const FileDependencies &dependencies):
			Plug(DefaultData)
				{
					Check_Object(this); Check_Object(&dependencies);
					*this = dependencies;
				}
		~FileDependencies();

		FileDependencies&
			operator=(const FileDependencies &dependencies);

		void
			AddDependency(FileStream *stream);
		void
			AddDependencies(const FileDependencies* dependencies);
		void
			AddDependencies(MemoryStream *dependencies);

		DynamicMemoryStream
			m_fileNameStream;
	};

	//##########################################################################
	//#######################    FileStreamManager    ##########################
	//##########################################################################

	class FileStreamManager
		#if defined(_ARMOR)
			: public Stuff::Signature
		#endif
	{

	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Constructor, destructor, and testing
	//
	public:
		FileStreamManager();
		~FileStreamManager();

		void
			TestInstance()
				{}
		static void
			TestClass();

		static FileStreamManager
			*Instance;
			
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Utility functions
	//
	public:
		void
			CleanUpAfterCompares();

		bool
			CompareModificationDate(
				const MString &file_name,
				__int64 time_stamp
			);
		void
			PurgeFileCompareCache();

	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	// Private data
	//
	protected:
		typedef Stuff::PlugOf<__int64>
			FileStatPlug;
		Stuff::TreeOf<FileStatPlug*, Stuff::MString>
			compareCache;
	};

}

⌨️ 快捷键说明

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