Hauptseite | Klassenhierarchie | Alphabetische Liste | Auflistung der Klassen | Auflistung der Dateien | Klassen-Elemente

# GatewaySecurity.h

    00001 /* ****************************************************************************
    00002 **
    00003 ** Projekt       : FPS
    00004 ** File          : GatewaySecurity.h
    00005 ** Version       : 1.0
    00006 ** Autor         : Axel Schmidt
    00007 ** Copyright     : (C) 2001 by Analytica GmbH
    00008 **-----------------------------------------------------------------------------
    00009 **
    00010 ** $Id: GatewaySecurity.h,v 1.3 2001/08/21 21:35:57 AxelSchmidt Exp $
    00011 **
    00012 ** $Log: GatewaySecurity.h,v $
    00013 ** Revision 1.3  2001/08/21 21:35:57  AxelSchmidt
    00014 ** Security-Funktionalität fertiggestellt
    00015 **
    00016 ** Revision 1.2  2001/08/21 06:52:29  AxelSchmidt
    00017 ** Basis-Security-Funktionalität implementiert
    00018 **
    00019 ** Revision 1.1  2001/08/20 07:20:59  AxelSchmidt
    00020 ** neue Klasse CGatewaySecurity
    00021 **
    00022 ******************************************************************************/
    00023
    00024 #include "TCPIPComm.h"
    00025
    00026 #ifndef _GATEWAY_SECURITY_H
    00027 #define _GATEWAY_SECURITY_H
    00028
    00029 #include <vector>
    00030
    00037 class CGatewaySecurity : public CTCPIPComm
    00038 {
    00039 public:
    00043    CGatewaySecurity( bool bRunAsService );
    00044
    00047    CGatewaySecurity( );
    00048
    00050    virtual ~CGatewaySecurity();
    00051
    00055    virtual void ConnectIndication( void );
    00056
    00060    virtual void DisconnectIndication( void );
    00061
    00067    virtual void Receive( void *pData, long DataLen );
    00068
    00072    bool StartProcessing( void );
    00073
    00077    bool StopProcessing( void );
    00078
    00085    virtual void AddTrace( const char * lpszMsg,
    00086                           CTraceObject::eTraceLevel eLevel = CTraceObject::MT_ERROR );
    00087
    00093    void SetParameterInput( const char * lpszIniFilename,
    00094                            const char * lpszRegKey,
    00095                            bool         bRunAsService  );
    00096
    00098    void ReadParameters( void );
    00099
    00103    bool GetSecurityPortActive( void ) const;
    00104
    00108    bool GetSecurityRunning( void ) const;
    00109
    00114    bool VerifyRemotePartner( const char * lpszIPAddress );
    00115
    00116 private:
    00117
    00118    struct sValidAddress {
    00119       std::string m_sIPAddress ;
    00120       CTime       m_otValidated;
    00121    };
    00122
    00126    void AddValidAddress( const char * lpszValidAddress );
    00127
    00131    void RemoveOldAddresses( void );
    00132
    00137    bool CheckPassPhrase( const char * lpszPassword );
    00138
    00143    void ReadIniParameters( const char * pszIniFilename = NULL );
    00144
    00149    void ReadRegParameters( const char * pszRegKey = NULL );
    00150
    00152    bool m_bRunAsService;
    00153
    00155    short m_nTCPPort;
    00156
    00158    std::string m_sIPAddress;
    00159
    00161    std::string m_sFilePath;
    00163    std::string m_sRegKey;
    00164
    00166    bool m_bWaitForParameters;
    00167
    00169    bool m_bSecurityRunning;
    00170
    00172    bool m_bSecurityPortActive;
    00173
    00175    std::string m_sGlobalPassword;
    00176
    00178    std::string m_sRemotePassword;
    00179
    00181    std::vector<struct sValidAddress> m_oaRemotePartner;
    00182
    00184    CMutex m_oLockRemote;
    00185 };
    00186
    00187 #endif //_GATEWAY_SECURITY_H