FAST.Framework  1.0.0
FTimer.h
1 /******************************************************************************
2 **
3 ** FAST.Framework
4 **
5 ** Created: 2023-10-11
6 ** Author: Boris Fast
7 ** Mail: support@fast-framework.com
8 **
9 ******************************************************************************/
10 
11 #ifndef FTIMER_H
12 #define FTIMER_H
13 
14 using namespace std;
15 
16 #include "FObject.h"
17 #include "FSignal.h"
18 
22 class FTimer : public FObject
23 {
24  public:
25  FTimer() = delete;
26 
27  FTimer(const UInt& interval);
28  virtual ~FTimer();
29 
30  void Start();
31  void ElapsedHandle(FSlot<UInt>& slot);
32  void Stop();
33 
34  inline UInt Interval() const { return this->interval; }
35  inline Boolean IsRunning() const { return this->running; }
36 
37  const type_info& GetType() override;
38  FString GetName() const override;
39 
40  private:
41  UInt interval;
42  Boolean running;
43  FSignal<UInt> elapsed;
44 };
45 
46 #endif // FTIMER_H
Definition: FObject.h:50
Definition: FSlot.h:26
Definition: FString.h:22
Definition: FTimer.h:23
FTimer()=delete
Delete standard constructor.
Boolean IsRunning() const
Returns TRUE if timer running, otherwise FALSE.
Definition: FTimer.h:35
UInt Interval() const
Returns interval the timer.
Definition: FTimer.h:34