/*
 * Copyright (c) 2007-2009 by Oleg Trifonov <otrifonow@gmail.com>
 *
 * This file is free software; you can redistribute it and/or modify
 * it under the terms of either the GNU General Public License version 2
 * or the GNU Lesser General Public License version 2.1, both as
 * published by the Free Software Foundation.
 */

#ifndef _TR_TIMER_H_
#define _TR_TIMER_H_

#include "trTypes.h"



class TrTimer {
public:
   TrTimer();   

   void __fastcall Start();
   void __fastcall Stop();
   void __fastcall Reset();
   
   Int64 __fastcall GetTime();   // получить время в микросекундах

protected:
    static Int64 Frequency;  // частота процессора в герцах
    bool iStarted;           // true, если счет идет
    Int64 iStartTime;        // время запуска
    Int64 iTotalTime;        // общее накопленное время    

    Int64 __fastcall GetTicks();   // получить время в тиках    
};




#endif // _TR_TIMER_H_