00001
00021 #ifndef INC_MI32_FILETYPESET_H
00022 #define INC_MI32_FILETYPESET_H
00023
00024 #ifndef INC_MI32_FILETYPE_H
00025 #include <mi32/filetype.h>
00026 #endif
00027
00028 #include <map>
00029
00030 #ifdef RVCSYSDLL
00031 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00032 #else
00033 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00034 #endif
00035
00036
00037
00038 typedef MILIST<FILETYPE> FILETYPELIST;
00039 typedef std::multimap<MISTRING,FILETYPE> EXTN_FILETYPE_MAP;
00040 typedef std::pair<EXTN_FILETYPE_MAP::const_iterator,EXTN_FILETYPE_MAP::const_iterator> EXTN_FILETYPE_ITERATOR_PAIR;
00041
00042
00043
00045 class CLASSLIBEXPORT FILETYPESET {
00046 public:
00047
00049 static const FILETYPESET& GetCommon ();
00050
00052 void Add (
00053 const FILETYPE& FileType,
00054 bool OnlyIfExtnUnique = false
00055 );
00056
00058 const FILETYPELIST& GetList (
00059 ) const { return (m_List); }
00060
00062 const EXTN_FILETYPE_MAP& GetMap (
00063 ) const { return (m_Map); }
00064
00066 bool IsEmpty (
00067 ) const { return (m_List.IsEmpty()); }
00068
00069 private:
00070 #ifndef GENERATING_DOXYGEN_OUTPUT
00071 FILETYPELIST m_List;
00072 EXTN_FILETYPE_MAP m_Map;
00073 #endif
00074 };
00075
00076
00077
00078 #undef CLASSLIBEXPORT
00079 #endif // INC_MI32_FILETYPESET_H