📄 timer.h
字号:
//Timer.h - Generic timing engine and basic time/date functions
//Robert Merrison - 2001
#ifndef _TIMER_H_
#define _TIMER_H_
#include <stdio.h>
#include <time.h>
#include "debug.h"
#define OS_WINDOWS 1
#define OS_LINUX 2
#define OS_OTHER 3
/*Cross-platform stuff*/
#ifdef WIN32
#define OS 1 //Operating system is windows
#include <windows.h>
#else
#ifdef linux
#define OS 2 //Operating system is linux
#else
#define OS 3 //Unknown/incompatible OS
#endif
#endif
/*Simple struct for a time inteval*/
struct time_period{
short seconds;
short minutes;
short hours;
short days;
};
/*Event to get in the list of events*/
struct event{
void ( *target )( void );
short repetitions;
int interval;
int counter;
event* next_event;
event* previous_event;
};
/*Main timer engine class*/
class time_engine{
public:
bool init( debug_engine* debug = NULL );
void update();
void kill();
bool is_running();
event* create_timer( void (*target)(void), time_period interval, short repetitions );
bool kill_timer( event* event_to_kill );
bool kill_all_timers();
tm get_current_time();
private:
void log_timer_message( short msg_type, char* message, ... );
void update_timers();
void advance_timer_list( int number_of_seconds );
void decrease_timer( event* event_to_decrease, int number_of_seconds );
void reset_timer( event* event_to_reset );
int time_to_seconds( time_period time );
debug_engine* dbg_engine;
bool engine_running;
time_period uptime;
event* first_event;
event* last_event;
int event_count;
time_t previous_time;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -