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

📄 pgpdiskuiexports.cpp

📁 PGP8.0源码 请认真阅读您的文件包然后写出其具体功能
💻 CPP
字号:
/*____________________________________________________________________________
		Copyright (C) 2002 PGP Corporation
        All rights reserved.

        $Id: PGPdiskUIExports.cpp,v 1.8 2002/08/06 20:09:22 dallen Exp $
____________________________________________________________________________*/

#include "pgpClassesConfig.h"
#include "pgpPflPriv.h"

#include "CString.h"
#include "pgpDiskUI.h"
#include "CPGPdiskEngine.h"

#include "CPGPdiskChooser.h"
#include "CPGPdiskCreator.h"
#include "CPGPdiskEditor.h"
#include "CPGPdiskMounter.h"
#include "CPGPdiskUnmounter.h"
#include "..\win32\Source\CPGPdiskFormatter.h"
#include "CUISubsystems.h"

_USING_PGP

// Exported function definitions

PGPError 
PGPdiskUIExport 
PGPdiskAskChooseDisk(
	PGPdiskContextRef	context, 
	const char			*defaultPath, 
	const char			*title, 
	void				*parentWnd, 
	char				*chosenPath, 
	PGPSize				availSize)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPValidatePtr(chosenPath);

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskChooser	diskChooser;
		CString			path;

		diskChooser.AskChoose(CPGPdiskContext(context), path, defaultPath, 
			title, parentWnd);

		if (path.Length() + 1 > availSize)
			THROW_PGPERROR(kPGPError_BufferTooSmall);

		strcpy(chosenPath, path);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskAskMountDisk(
	PGPdiskContextRef	context, 
	const char			*path, 
	void				*parentWnd)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPValidatePtr(path);

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskMounter	diskMounter;
		diskMounter.AskMount(CPGPdiskContext(context), path, parentWnd);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskAskEditDisk(
	PGPdiskContextRef	context, 
	const char			*path, 
	void				*parentWnd)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPValidatePtr(path);

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskEditor	diskEditor;
		diskEditor.AskEdit(CPGPdiskContext(context), path, parentWnd);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskAskCreateNewDisk(
	PGPdiskContextRef	context, 
	const char			*defaultPath, 
	void				*parentWnd)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskCreator	diskCreator;

		diskCreator.AskCreate(CPGPdiskContext(context), defaultPath, 
			parentWnd);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskFormatNewDisk(
	PGPdiskContextRef		context, 
	const char				*root, 
	const char				*volName, 
	int						fsType, 
	NewDiskStatusFuncType	userCallback, 
	void					*userValue)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskFormatter	formatter;

		formatter.Format(context, root, volName, 
			(FileSys::Type)fsType, userCallback, userValue);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskAskUnmountDisk(
	PGPdiskContextRef	context, 
	const char			*pathOrRoot, 
	void				*parentWnd, 
	PGPUInt32			flags)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPValidatePtr(pathOrRoot);

	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskUnmounter	diskUnmounter;
		PGPUInt32			flags2	= CPGPdiskUnmounter::kNoFlags;

		if (flags & kPGPdiskForceUnmountFlag)
			flags2 |= CPGPdiskUnmounter::kForceUnmountFlag;

		if (flags & kPGPdiskSilentUnmountFlag)
			flags2 |= CPGPdiskUnmounter::kSilentUnmountFlag;

		if (flags & kPGPdiskShutdown)
			flags2 |= CPGPdiskUnmounter::kShutdown;

		diskUnmounter.AskUnmount(CPGPdiskContext(context), pathOrRoot, 
			parentWnd, flags2);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskAskUnmountAllDisks(
	PGPdiskContextRef	context, 
	void				*parentWnd, 
	PGPUInt32			flags)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskUnmounter	diskUnmounter;
		PGPUInt32			flags2	= CPGPdiskUnmounter::kNoFlags;

		if (flags & kPGPdiskForceUnmountFlag)
			flags2 |= CPGPdiskUnmounter::kForceUnmountFlag;

		if (flags & kPGPdiskSilentUnmountFlag)
			flags2 |= CPGPdiskUnmounter::kSilentUnmountFlag;

		if (flags & kPGPdiskTimedOutUnmountAllFlag)
			flags2 |= CPGPdiskUnmounter::kTimedOutUnmountAllFlag;

		if (flags & kPGPdiskShutdown)
			flags2 |= CPGPdiskUnmounter::kShutdown;

		diskUnmounter.AskUnmountAll(CPGPdiskContext(context), parentWnd, 
			flags2);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

PGPError 
PGPdiskUIExport 
PGPdiskMountStartupDisks(PGPdiskContextRef context, void *parentWnd)
{
	PGPValidateParam(PGPdiskContextRefIsValid(context));
	PGPError	error	= kPGPError_NoErr;

	try
	{
		CPGPdiskMounter	diskMounter;
		diskMounter.MountStartupDisks(context, parentWnd);
	}
	catch (CComboError& caughtErr)
	{
		error = caughtErr.pgpErr;
	}

	return error;
}

⌨️ 快捷键说明

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