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

📄 staftrustmanager.h

📁 Software Testing Automation Framework (STAF)的开发代码
💻 H
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2001                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/#ifndef STAF_TrustManager#define STAF_TrustManager#include <map>#include "STAF.h"#include "STAFString.h"#include "STAFUtil.h"#include "STAFRefPtr.h"#include "STAFMutexSem.h"#include "STAFFileSystem.h"class STAFTrustManager{public:    // Public types    struct TrustData    {        enum TrustMatchType        {            kTrustMatchExact       = 0,            kTrustMatchGroupExact  = 1,            kTrustMatchEntityExact = 2,            kTrustMatchWildcard    = 3,            kTrustMatchNoMatch     = 4        };        TrustData() { /* Do Nothing */ }        TrustData(const STAFString &theGroup, const STAFString &theEntity,                  unsigned int theTrustLevel);        STAFString group;        STAFString entity;        unsigned int trustLevel;        TrustMatchType matchType;    };    typedef std::map<STAFString, TrustData> TrustMap;    STAFTrustManager(unsigned int maxTrustLevel,                     unsigned int defaultTrustLevel = 3)        : fMaxTrustLevel(maxTrustLevel), fDefaultTrustLevel(defaultTrustLevel)    { /* Do Nothing */ }    unsigned int getTrustLevel(const STAFString &theInterface,                               const STAFString &logicalID,                               const STAFString &physicalID,                               const STAFString &authenticator,                               const STAFString &userID);    unsigned int getTrustLevel(const STAFString &machine,                               const STAFString &user);    unsigned int getTrustLevel(const STAFString &machine);    STAFRC_t setMachineTrusteeLevel(const STAFString &machine,                                    unsigned int trustLevel);    STAFRC_t deleteMachineTrustee(const STAFString &machine);    TrustMap getMachineTrustMapCopy();    STAFRC_t setUserTrusteeLevel(STAFString user,                                 unsigned int trustLevel);    STAFRC_t deleteUserTrustee(STAFString user);    TrustMap getUserTrustMapCopy();    unsigned int getDefaultTrusteeLevel();    STAFRC_t setDefaultTrusteeLevel(unsigned int trustLevel);private:    // Don't allow copy construction or assignment    STAFTrustManager(const STAFTrustManager &);    STAFTrustManager &operator=(const STAFTrustManager &);    void splitSpecification(const STAFString &source,                            const STAFString &defaultGroup,                            STAFString &group,                            STAFString &entity);    unsigned int fMaxTrustLevel;    unsigned int fDefaultTrustLevel;    STAFMutexSem fTrustDataSem;    TrustMap fMachineTrustMap;    TrustMap fUserTrustMap;};#endif

⌨️ 快捷键说明

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