Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <stdbool.h>
- #include <time.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <pthread.h>
- #include <gtk/gtk.h>
- #define sleep(time) usleep(time*1000)
- typedef struct timeval Time;
- #define Thread pthread_t
- extern unsigned long getTime();
- // Метод выполнения одной итерации таймера
- #define ITimerTask(run) gboolean(*run)(void*)
- #define ITimerTaskArgEvent gboolean(*)(void*)
- // Структура таймера
- typedef struct Timer {
- guint id;
- ITimerTask(run);
- unsigned long interval;
- bool enable;
- } Timer;
- // Структура интерфейса сервиса методов работы с таймерами
- typedef struct ITimerServiceStruct {
- Timer *(*Create)(long interval, ITimerTaskArgEvent); // создаёт таймер
- void (*Start)(Timer *timer); // запускает таймер
- void (*Stop)(Timer *timer); // останавливает таймер
- void (*Destroy)(Timer *timer); // уничтожает таймер
- } ITimerServiceStruct;
- // Интерфейс сервиса методов работы с таймерами
- typedef const ITimerServiceStruct ITimerService;
- //Реализация сервиса методов работы с таймерами
- extern ITimerService TimerService;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement