00001
00018 #ifndef INC_MI32_MIMETYPE_H
00019 #define INC_MI32_MIMETYPE_H
00020
00021 #ifndef INC_MI32_SIMPLEAR_H
00022 #include <mi32/simplear.h>
00023 #endif
00024
00025
00027 class MIMETYPE {
00028 public:
00029
00031 enum CONTENT {
00032 CONTENT_Unknown = 0,
00033 CONTENT_Application = 1,
00034 CONTENT_Audio = 2,
00035 CONTENT_Image = 3,
00036 CONTENT_Message = 4,
00037 CONTENT_Model = 5,
00038 CONTENT_Multipart = 6,
00039 CONTENT_Text = 7,
00040 CONTENT_Video = 8,
00041 CONTENT_NUMTYPES
00042 };
00043
00045 enum MEDIA {
00046 MEDIA_Unknown = 0,
00047 MEDIA_Unknown_XML = 1,
00048 MEDIA_GIF = 2,
00049 MEDIA_JP2 = 3,
00050 MEDIA_JPEG = 4,
00051 MEDIA_JPX = 5,
00052 MEDIA_PNG = 6,
00053 MEDIA_TIFF = 7,
00054 MEDIA_SVG_XML = 8,
00055 MEDIA_Plain = 9,
00056 MEDIA_XML = 10,
00057 MEDIA_CSV = 11,
00058 MEDIA_HTML = 12,
00059 MEDIA_VND_GoogleEarth_KML_XML = 13,
00060 MEDIA_NUMTYPES
00061 };
00062
00064 static const char* ContentToString (
00065 CONTENT content
00066 );
00067
00069 static const char* MediaToString (
00070 MEDIA media
00071 );
00072
00074 MIMETYPE ();
00075
00077 MIMETYPE (
00078 const MIMETYPE& rhs
00079 );
00080
00082 MIMETYPE (
00083 CONTENT content,
00084 MEDIA media,
00085 const char *parameters = 0
00086 );
00087
00089 MIMETYPE (
00090 const char *mimestr
00091 );
00092
00094 ~MIMETYPE ();
00095
00097 MIMETYPE& operator= (
00098 const MIMETYPE& rhs
00099 );
00100
00102 MIMETYPE& operator= (
00103 const char *mimestr
00104 );
00105
00107 CONTENT GetContent (
00108 ) const { return (m_content); }
00109
00111 MEDIA GetMedia (
00112 ) const { return (m_media); }
00113
00116 const char* GetParameters (
00117 ) const { return (m_parameters); }
00118
00120 const char* GetString (
00121 ) const { return (m_mimestr); }
00122
00125 bool Set (
00126 const char *mimestr
00127 );
00128
00130 void Set (
00131 CONTENT content,
00132 MEDIA media,
00133 const char *parameters = 0
00134 );
00135
00137 void SetParameters (
00138 const char *parameters
00139 );
00140
00141 private:
00142 #ifndef GENERATING_DOXYGEN_OUTPUT
00143
00144 SIMPLE_ARRAY<char> m_mimestr;
00145 CONTENT m_content;
00146 MEDIA m_media;
00147 char *m_parameters;
00148
00149 void UpdateParameters ();
00150
00151 #endif
00152 };
00153
00154 #endif // INC_MI32_MIMETYPE_H