FME Server C++ API 3.0

ifmeserversecuritymanager.h

Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines