📄 cpgpdiskdiskset.h
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: CPGPdiskDiskSet.h,v 1.7 2002/08/06 20:09:36 dallen Exp $
____________________________________________________________________________*/
#ifndef Included_CPGPdiskDiskSet_h // [
#define Included_CPGPdiskDiskSet_h
#include "CIter.h"
#include "CList.h"
_PGP_BEGIN
// Types
class CPGPdiskDisk;
class CPGPdiskKey;
// Class CPGPdiskDiskSet
class CPGPdiskDiskSet : public CListableObject<CPGPdiskDiskSet>
{
NOT_COPYABLE(CPGPdiskDiskSet);
friend class CPGPdiskContext;
friend class CPGPdiskDiskIter;
public:
CPGPdiskDiskSet(const CPGPdiskContext *pContext);
~CPGPdiskDiskSet();
const CPGPdiskContext * Context() const {return mPContext;}
PGPUInt32 Count() const {return mDisks.Count();}
CPGPdiskDisk * Mount(const char *path, const CPGPdiskUser &diskUser,
const char *root, PGPBoolean readOnly);
void Unmount(CPGPdiskDisk *pDisk, PGPBoolean isForced = FALSE);
void UnmountTimedOut(PGPBoolean isForced = FALSE);
void UnmountAll(PGPBoolean isForced = FALSE);
void UpdateTimeouts();
void WipeAllUsers();
CPGPdiskDisk * CreateDisk(const char *path, PGPUInt64 blocksDisk,
PGPdiskEncryptionAlgorithm algorithm, const char *passphrase,
const char *userName, const char *defaultRoot,
NewDiskStatusFuncType statusFunc, void *userValue = NULL);
CPGPdiskDisk * CreateDisk(const char *path, PGPUInt64 blocksDisk,
PGPdiskEncryptionAlgorithm algorithm, const CPGPKey& pubKey,
const char *defaultRoot, NewDiskStatusFuncType statusFunc,
void *userValue = NULL);
void Update();
private:
const CPGPdiskContext *mPContext;
CList<CPGPdiskDisk> mDisks;
mutable CList<CPGPdiskDiskIter> mDiskIters;
CPGPdiskDiskSet(const CPGPdiskDisk *pDisk);
CPGPdiskDisk * FindEqualDisk(const CPGPdiskDisk& disk) const;
CPGPdiskDisk * FindExactDisk(const CPGPdiskDisk *pDisk) const;
void UnmountAux(CPGPdiskDisk *pDisk, PGPBoolean isForced);
void UnmountAllAux(PGPBoolean timedOutOnly, PGPBoolean isForced);
void AddMounted(const CPGPdiskDiskSet& disksToAdd);
void AddMounted(const CPGPdiskDisk& diskToAdd);
void Remove(const CPGPdiskDiskSet& disksToRemove);
void Remove(const CPGPdiskDisk& diskToRemove);
void Singleton(const CPGPdiskDisk *pDisk);
void Empty();
void RewindAllDiskIters();
void RegisterDiskIter(CPGPdiskDiskIter *pDiskIter) const;
void DeregisterDiskIter(CPGPdiskDiskIter *pDiskIter) const;
};
// Class CPGPdiskDiskIter
class CPGPdiskDiskIter :
public CIter<CPGPdiskDisk>, public CListableObject<CPGPdiskDiskIter>
{
NOT_COPYABLE(CPGPdiskDiskIter)
public:
CPGPdiskDiskIter(const CPGPdiskDiskSet *pDiskSet);
~CPGPdiskDiskIter();
const CPGPdiskDiskSet * DiskSet() const {return mPDiskSet;}
CPGPdiskDisk * SearchOnPath(const char *path);
CPGPdiskDisk * SearchOnRoot(const char *root);
private:
const CPGPdiskDiskSet *mPDiskSet;
};
_PGP_END
#endif // ] Included_CPGPdiskDiskSet_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -