📄 warmmcfiletypes.h
字号:
/** */#ifndef WAR_MMC_FILE_TYPES_H#define WAR_MMC_FILE_TYPES_H/* SYSTEM INCLUDES *//* PROJECT INCLUDES */#ifndef WAR_WIN32_REGISTRY_H# include "WarWin32Registry.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 WarMmcFileTypeStyle{public: WarMmcFileTypeStyle(LPCTSTR name, war_uint32_t permissions) : mName(name), mPerms(permissions) {} WarMmcFileTypeStyle(const WarMmcFileTypeStyle& from) { operator = (from); } void operator = (const WarMmcFileTypeStyle& from) { mName = from.mName; mPerms = from.mPerms; } std::basic_string<TCHAR> mName; war_uint32_t mPerms;};class WarMmcFileType{public: typedef std::list<WarMmcFileTypeStyle> themes_t; WarMmcFileType(LPCTSTR name, bool isEnabled = true) : mName(name), mIsEnabled(isEnabled) {} WarMmcFileType(const WarMmcFileType& from) { operator = (from); } bool operator == (LPCTSTR from) const { return _tcscmp(mName.c_str(), from) == 0; } operator = (const WarMmcFileType& from) { mName = from.mName; mThemes = from.mThemes; mIsEnabled = from.mIsEnabled; } std::basic_string<TCHAR> mName; themes_t mThemes; bool mIsEnabled;};class WarMmcFileTypes {public: typedef std::list<WarMmcFileType> filetypes_t; // LIFECYCLE /** * Default constructor. */ WarMmcFileTypes(void); /** * Destructor. */ ~WarMmcFileTypes(void); // OPERATORS // OPERATIONS void Load(const WarWin32Registry& regPath); const WarMmcFileType& GetTypeFromName(LPCTSTR currentName) const throw(WarException); void UpdateComboBox(HWND hWnd, LPCTSTR currentName, war_uint32_t currentPerms, bool doResetContent = false) const throw(WarException); // ACCESS static const WarMmcFileTypes& GetObject() { if (NULL == mpThis) WarThrow(WarError(WAR_ERR_INTERNAL_DATA_NOT_INITIALIZED), NULL); return *mpThis; } // INQUIRY protected:private: filetypes_t mFileTypes; static WarMmcFileTypes *mpThis;};/* INLINE METHODS *//* EXTERNAL REFERENCES */#endif /* __cplusplus *//****************** END C++ spesific ******************/#endif /* WAR_MMC_FILE_TYPES_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -