📄 warfileengine.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 + -