FME Server C++ API 3.0
|
00001 #ifndef _IFMESERVERSECURITYMANAGER_H 00002 #define _IFMESERVERSECURITYMANAGER_H 00003 00056 #include <fmeservertypes.h> 00057 00058 class IFMEServerStatus; 00059 class IFMEServerString; 00060 class IFMEServerUserToken; 00061 00062 //=========================================================================== 00063 // Abstract Interface Class -- all methods are virtual and it has no data 00064 class IFMEServerSecurityManager 00065 { 00066 public: 00067 // ----------------------------------------------------------------------- 00075 virtual IFMEServerStatus* userTokenExists(const IFMEServerString& userName, 00076 FME_Boolean& exists) const = 0; 00077 00078 // ----------------------------------------------------------------------- 00083 virtual IFMEServerUserToken* createUserToken() const = 0; 00084 00085 // ----------------------------------------------------------------------- 00094 virtual IFMEServerUserToken* createUserToken(const IFMEServerString& token, 00095 const IFMEServerString& clientAddress, 00096 FME_Int64 expirationTimeout) const = 0; 00097 00098 // ----------------------------------------------------------------------- 00100 virtual void destroyUserToken(IFMEServerUserToken*& userToken) const = 0; 00101 00102 // ----------------------------------------------------------------------- 00111 virtual IFMEServerStatus* getUserToken(const IFMEServerString& userName, 00112 IFMEServerUserToken& userToken, 00113 FME_Boolean& exists) const = 0; 00114 00115 // ----------------------------------------------------------------------- 00123 virtual IFMEServerStatus* addUserToken(const IFMEServerString& userName, 00124 const IFMEServerUserToken& userToken) = 0; 00125 00126 // ----------------------------------------------------------------------- 00134 virtual IFMEServerStatus* updateUserToken(const IFMEServerString& userName, 00135 const IFMEServerUserToken& userToken) = 0; 00136 00137 // ----------------------------------------------------------------------- 00146 virtual IFMEServerStatus* removeUserToken(const IFMEServerString& userName, 00147 FME_Boolean& existed) = 0; 00148 00149 // ----------------------------------------------------------------------- 00159 virtual IFMEServerStatus* hasUserTokenExpired(const IFMEServerString& userName, 00160 FME_Boolean& expired) const = 0; 00161 00162 protected: 00163 00164 // ----------------------------------------------------------------------- 00165 // No one should be creating an instance of this directly, so we 00166 // make the constructor protected. 00167 IFMEServerSecurityManager() {} 00168 00169 // ----------------------------------------------------------------------- 00170 // No one should be destroying an instance of this directly, so we 00171 // make the destructor protected. 00172 virtual ~IFMEServerSecurityManager() {} 00173 00174 private: 00175 00176 // ----------------------------------------------------------------------- 00177 // The copy constructor is not implemented. 00178 IFMEServerSecurityManager(const IFMEServerSecurityManager &other); 00179 00180 // ----------------------------------------------------------------------- 00181 // The assignment operator is not implemented. 00182 IFMEServerSecurityManager &operator=(const IFMEServerSecurityManager &other); 00183 00184 }; 00185 00186 #endif