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

📄 waripshitlisted.h

📁 ftpserver very good sample
💻 H
字号:
/** */#ifndef WAR_IP_SHITLIST_H#define WAR_IP_SHITLIST_H/* SYSTEM INCLUDES */#ifdef HAVE_NETINET_IN_H#   ifndef WAR_NETINET_IN_H_INCLUDED#       define WAR_NETINET_IN_H_INCLUDED#       include <netinet/in.h>#   endif#endif/* PROJECT INCLUDES */#ifndef WAR_TIME_H#   include "WarTime.h"#endif/* LOCAL INCLUDES *//* FORWARD REFERENCES */#ifdef __cplusplusextern "C" {#endif/****************** BEGIN OLD STYLE C spesific ********//****************** END OLD STYLE C spesific **********/#ifdef __cplusplus }#endif/****************** BEGIN C++ spesific ****************/#ifdef __cplusplusclass WarIpShitlisted {public:    enum ReasonE    {        REASON_HAMMERING,        REASON_CRACKING,        REASON_MANUALLY_SET,        REASON_FLOOD,        REASON_INVALID    };    // LIFECYCLE        /**    * Default constructor.    */    WarIpShitlisted(ReasonE becauseReason,        const struct in_addr& ipAddr,         int expireSeconds = 0)        throw(WarException);    WarIpShitlisted()    {        mAddr.s_addr = 0;        mReason = REASON_INVALID;    }        /**    * Copy constructor.    *    * @param from The value to copy to this object.    */    WarIpShitlisted(const WarIpShitlisted& from)    {        operator = (from);    }        /**    * Destructor.    */    ~WarIpShitlisted()     {    }        // OPERATORS        /**    * Assignment operator.    *    * @param from THe value to assign to this object.    *    * @return A reference to this object.    */    WarIpShitlisted& operator=(const WarIpShitlisted& from)    {        mAddr = from.mAddr;        mExpieres = from.mExpieres;        mReason = from.mReason;        return *this;    }    bool operator == (const WarIpShitlisted& from) const    {        return mAddr.s_addr == from.mAddr.s_addr;    }    bool operator < (const WarIpShitlisted& from) const    {        return mAddr.s_addr < from.mAddr.s_addr;    }    // OPERATIONS    // CALLBACK    // ACCESS    // INQUIRY    const ReasonE GetReason()     {        return mReason;    }    const struct in_addr& GetIpAddr() const    {        return mAddr;    }    const WarTime& GetExpireTime() const    {        return mExpieres;    }    bool IsTimeOut() const    {        return GetExpireTime().IsTimeOut();    }    const WarTime& GetCreatedTime() const    {        return mCreated;    }    std::string Explain() const;    void LogWhy() const;    protected:private:    struct in_addr mAddr;    WarTime mExpieres;    WarTime mCreated;    ReasonE mReason;};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif  /* WAR_IP_SHITLIST_H_ */

⌨️ 快捷键说明

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