📄 cpgpdiskuserset.h
字号:
/*____________________________________________________________________________
Copyright (C) 2002 PGP Corporation
All rights reserved.
$Id: CPGPdiskUserSet.h,v 1.3 2002/08/06 20:09:36 dallen Exp $
____________________________________________________________________________*/
#ifndef Included_CPGPdiskUserSet_h // [
#define Included_CPGPdiskUserSet_h
#include "CList.h"
#include "CIter.h"
_PGP_BEGIN
// Types
class CPGPdiskDisk;
class CPGPdiskUser;
// Class CPGPdiskUserSet
class CPGPdiskUserSet
{
friend class CPGPdiskUserIter;
public:
CPGPdiskUserSet() { }
CPGPdiskUserSet(const CPGPdiskUser& user);
CPGPdiskUserSet(const CPGPdiskUserSet& userSet);
~CPGPdiskUserSet();
CPGPdiskUserSet& operator=(const CPGPdiskUserSet& userSet);
PGPUInt32 Count() const {return mUsers.Count();}
void Add(const CPGPdiskUserSet& usersToAdd);
void Add(const CPGPdiskUser& userToAdd);
void Remove(const CPGPdiskUserSet& usersToRemove);
void Remove(const CPGPdiskUser& userToRemove);
void Singleton(const CPGPdiskUser& user);
void Assign(const CPGPdiskUserSet& userSet);
void Empty();
private:
CList<CPGPdiskUser> mUsers;
mutable CList<CPGPdiskUserIter> mUserIters;
CPGPdiskUser * FindEqualUser(const CPGPdiskUser& user) const;
void RewindAllUserIters();
void RegisterUserIter(CPGPdiskUserIter *pUserIter) const;
void DeregisterUserIter(CPGPdiskUserIter *pUserIter) const;
};
// Class CPGPdiskUserIter
class CPGPdiskUserIter :
public CIter<CPGPdiskUser>, public CListableObject<CPGPdiskUserIter>
{
NOT_COPYABLE(CPGPdiskUserIter)
public:
CPGPdiskUserIter(const CPGPdiskUserSet *pUserSet);
~CPGPdiskUserIter();
const CPGPdiskUserSet * UserSet() const {return mPUserSet;}
CPGPdiskUser * SearchOnUserName(const char *userName);
CPGPdiskUser * FindEqualUser(const CPGPdiskUser& user) const;
CPGPdiskUser * FindAdminUser();
void SafeSetAdminUser(CPGPdiskUser *pNewAdmin,
CPGPdiskUser *pOldAdmin = NULL);
private:
const CPGPdiskUserSet *mPUserSet;
};
_PGP_END
#endif // ] Included_CPGPdiskUserSet_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -