00001
00057 #ifndef INC_MI32_MTIMER_H
00058 #define INC_MI32_MTIMER_H
00059
00060 #ifndef INC_MI32_STDDEFNS_H
00061 #include <mi32/stddefns.h>
00062 #endif
00063
00064 class MISTRING;
00065
00066 #ifdef MISYSTEMDLL
00067 #define CLASSLIBEXPORT MI_DLLCLASSEXPORT
00068 #else
00069 #define CLASSLIBEXPORT MI_DLLCLASSIMPORT
00070 #endif
00071
00072
00073
00076 struct CLASSLIBEXPORT MTIMER {
00077 public:
00078
00080 MTIMER ();
00081
00083 ~MTIMER ();
00084
00087 void Clear ();
00088
00089
00090 void GetString (
00091 MISTRING& string
00092 ) const;
00093
00095 double GetValue (
00096 ) const;
00097
00099 bool IsOn (
00100 ) const;
00101
00108 void Report (
00109 MISTRING& string,
00110 TEXTID textid = TEXTID__None
00111 ) const;
00112
00117 void ReportElapsed (
00118 MISTRING& string
00119 ) const;
00120
00125 void ReportElapsedAbbr (
00126 MISTRING& string
00127 ) const;
00128
00130 void ReportShort (
00131 MISTRING& string,
00132 int places = 0
00133 ) const;
00134
00136 void Start ();
00137
00139 void Set (
00140 double seconds
00141 );
00142
00145 void Stop ();
00146
00147 private:
00148 #ifndef GENERATING_DOXYGEN_OUTPUT
00149 double m_total;
00150 double m_StartTime;
00151 UINT8 m_TimerOn;
00152 UINT8 padding[7];
00153
00154 CHECKSIZE(24)
00155 #endif // GENERATING_DOXYGEN_OUTPUT
00156 };
00157
00158 #undef CLASSLIBEXPORT
00159 #endif // INC_MI32_MTIMER_H