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

📄 warfileengine.h

📁 ftpserver very good sample
💻 H
字号:
/**  * The WarFileEngine maintain the list of installed * file drivers. There must be _one_ WarFilEngine  * object in any application that use the WarFile* * classes.*/#ifndef WAR_FILE_ENGINE_H#define WAR_FILE_ENGINE_H/* SYSTEM INCLUDES */#ifndef WAR_SET_INCLUDED#   define WAR_SET_INCLUDED#   include <set>#endif/* PROJECT INCLUDES */#ifndef WAR_TYPES_H#   include "WarTypes.h"#endif#ifndef WAR_EXCEPTION_H#   include "WarException.h"#endif#ifndef WAR_SMART_POINTER_H#   include "WarSmartPointer.h"#endif#ifndef WAR_PTR_WRAPPER_H#   include "WarPtrWrapper.h"#endif#ifndef WAR_FILE_DRIVER_H#   include "WarFileDriver.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 WarFileEngine {public:    typedef std::set<WarFileDriver::driver_ptr_t> driver_list_t;    // LIFECYCLE        /**    * Default constructor.    */    WarFileEngine(void) throw(WarException);        /**    * Destructor.    */    ~WarFileEngine(void);        // OPERATORS    // OPERATIONS    void AttachDriver(WarFileDriver *pDriver)        throw(WarException);    void DetachDriver(war_ccstr_t driverName)        throw(WarException);    WarFileDriver::driver_ptr_t GetDriver(war_ccstr_t driverName)        throw(WarException);    // ACCESS    static WarFileEngine& GetEngine()    {        if (!mspMe)            WarThrow(WarError(WAR_ERR_INTERNAL_DATA_NOT_INITIALIZED), NULL);        return *mspMe;    }    // INQUIRY    bool IsDriverInstalled(war_ccstr_t driverName);protected:private:    static WarFileEngine *mspMe;    WarCriticalSection mLock;    driver_list_t mDrivers;    driver_list_t::iterator Lookup(war_ccstr_t driverName)        throw(WarException);};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif  /* WAR_FILE_ENGINE_H_ */

⌨️ 快捷键说明

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