Advertisement
Guest User

Untitled

a guest
May 31st, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <time.h>
  4. #include <unistd.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <pthread.h>
  8. #include <gtk/gtk.h>
  9.  
  10.     #define sleep(time) usleep(time*1000)
  11.     typedef struct timeval Time;
  12.     #define Thread pthread_t
  13.  
  14.     extern unsigned long getTime();
  15.  
  16.     // Метод выполнения одной итерации таймера
  17.     #define ITimerTask(run) gboolean(*run)(void*)
  18.     #define ITimerTaskArgEvent gboolean(*)(void*)
  19.  
  20.     // Структура таймера
  21.     typedef struct Timer {
  22.  
  23.         guint id;
  24.         ITimerTask(run);
  25.  
  26.         unsigned long interval;
  27.         bool enable;
  28.  
  29.     } Timer;
  30.  
  31.     // Структура интерфейса сервиса методов работы с таймерами
  32.     typedef struct ITimerServiceStruct {
  33.  
  34.         Timer *(*Create)(long interval, ITimerTaskArgEvent); // создаёт таймер
  35.  
  36.         void (*Start)(Timer *timer); // запускает таймер
  37.  
  38.         void (*Stop)(Timer *timer); // останавливает таймер
  39.  
  40.         void (*Destroy)(Timer *timer); // уничтожает таймер
  41.  
  42.     } ITimerServiceStruct;
  43.  
  44.     // Интерфейс сервиса методов работы с таймерами
  45.     typedef const ITimerServiceStruct ITimerService;
  46.  
  47.     //Реализация сервиса методов работы с таймерами
  48.     extern ITimerService TimerService;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement