Kiwi Multi Threading Framework
|
00001 00011 #import "KTType.h" 00012 #import <Coconut/Coconut.h> 00013 00017 struct KTIntervalTimer { 00019 struct CNInstance superClass ; 00021 dispatch_queue_t timerQueue ; 00023 dispatch_source_t timerSource ; 00025 KTTaskState timerState ; 00027 struct CNList consumerList ; 00028 } ; 00029 00031 struct KTIntervalTimerMethods { 00033 struct CNInstanceMethods superClass ; 00034 } ; 00035 00037 extern struct KTIntervalTimerMethods KTSharedIntervalTimerMethods ; 00038 00046 struct KTIntervalTimer * 00047 KTAllocateIntervalTimer(dispatch_queue_t queue, double interval, struct CNResource * resource) ; 00048 00054 static inline struct CNInstance * 00055 KTInstanceOfIntervalTimer(struct KTIntervalTimer * src) 00056 { 00057 return &(src->superClass) ; 00058 } 00059 00065 static inline KTTaskState 00066 KTStateOfIntervalTimer(struct KTIntervalTimer * src) 00067 { 00068 return src->timerState ; 00069 } 00070 00075 void 00076 KTStartIntervalTimer(struct KTIntervalTimer * src) ; 00077 00082 void 00083 KTStopIntervalTimer(struct KTIntervalTimer * src) ; 00084 00091 void 00092 KTAddInstanceTriggerToIntervalTimer(struct KTIntervalTimer * dst, KTInstanceTriggerFuncRef func, struct CNInstance * inst) ; 00093