TEMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
LegacyEvents.h
Go to the documentation of this file.
1 //===-- temu-c/LegacyEvents.h - Legacy Event Queue API ----------*- C++ -*-===//
2 //
3 // T-EMU: The Terma Emulator
4 // (c) Terma 2015
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 #ifndef TEMU_LEGACY_EVENTS_H
9 #define TEMU_LEGACY_EVENTS_H
10 
11 #include <stdint.h>
12 #include "temu-c/Support/Objsys.h"
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 typedef void (*temu_TimerCb)(void *Sender, void *Data);
19 
20 #define TEMU_EVENT_NS (1U << 0)
21 #define TEMU_EVENT_SYNC (1U << 8)
22 
23 // Serialisation functions
24 TEMU_API void temu_serialiseEvents(void *Obj, void *Ctxt) TEMU_DEPRECATED;
25 
26 TEMU_API void temu_deserialiseEvents(void *Obj, void *Ctxt) TEMU_DEPRECATED;
27 
28 TEMU_API int64_t temu_triggerFirstTimer(void *Queue, uint32_t Flags) TEMU_DEPRECATED;
29 
30 TEMU_API int64_t temu_triggerCurrentTimers(void *Queue, int64_t Srt, uint32_t Flags)
32 
33 TEMU_API int64_t temu_nextTimer(void *Queue, uint32_t Flags) TEMU_DEPRECATED;
34 
35 TEMU_API void temu_postEvent(void *Queue, temu_TimerCb callback,
36  void *Sender, void *Data, uint64_t Time, uint32_t Flags)
38 
39 TEMU_API void temu_stackEvent(void *Queue, temu_TimerCb callback,
40  void *Sender, void *Data, uint32_t Flags)
42 
43 TEMU_API int64_t temu_eventTime(void *Queue, temu_TimerCb callback, void *Sender)
45 
46 TEMU_API void temu_descheduleEvent(void *Queue, temu_TimerCb callback, void *Sender)
48 
49 TEMU_API void temu_registerEvent(void *Queue, const char *Name, temu_TimerCb Callback,
50  uint32_t Flags)
52 
53 
54 
55 typedef struct {
56  void (*stackPostEvent)(void *Obj, temu_TimerCb Ev, void *Sender, void *Data,
57  uint32_t Flags)
58  TEMU_DEPRECATED;
59 
60  void (*postDeltaEvent)(void *Obj, temu_TimerCb Ev, void *Sender, void *Data,
61  int64_t Cycles, uint32_t Flags)
62  TEMU_DEPRECATED;
63 
64  void (*postAbsoluteEvent)(void *Obj, temu_TimerCb Ev, void *Sender, void *Data,
65  int64_t Cycles, uint32_t Flags)
66  TEMU_DEPRECATED;
67  int64_t (*getEventDeltaTime)(void *Obj, temu_TimerCb Ev,
68  void *Sender) TEMU_DEPRECATED;
69  int64_t (*getEventAbsoluteTime)(void *Obj, temu_TimerCb Ev,
70  void *Sender) TEMU_DEPRECATED;
71  void (*descheduleEvent)(void *Obj, temu_TimerCb Ev, void *Sender,
72  uint32_t Flags) TEMU_DEPRECATED;
73  void (*registerEvent)(void *Obj, const char *EvName,
74  void (*Ev)(void *, void *), uint32_t Flags)
77 
78 TEMU_IFACE_REFERENCE_TYPE(temu_LegacyEvent);
79 
80 #ifdef __cplusplus
81 }
82 #endif
83 
84 #endif
#define TEMU_DEPRECATED
Definition: Attributes.h:21
TEMU_API int64_t temu_eventTime(void *Queue, temu_TimerCb callback, void *Sender) TEMU_DEPRECATED
TEMU_API int64_t temu_nextTimer(void *Queue, uint32_t Flags) TEMU_DEPRECATED
TEMU_API void temu_stackEvent(void *Queue, temu_TimerCb callback, void *Sender, void *Data, uint32_t Flags) TEMU_DEPRECATED
TEMU_API void temu_descheduleEvent(void *Queue, temu_TimerCb callback, void *Sender) TEMU_DEPRECATED
void(* temu_TimerCb)(void *Sender, void *Data)
Definition: LegacyEvents.h:18
TEMU_API void temu_postEvent(void *Queue, temu_TimerCb callback, void *Sender, void *Data, uint64_t Time, uint32_t Flags) TEMU_DEPRECATED
TEMU_API void temu_deserialiseEvents(void *Obj, void *Ctxt) TEMU_DEPRECATED
#define TEMU_IFACE_REFERENCE_TYPE(N)
Definition: Objsys.h:129
TEMU_API int64_t temu_triggerFirstTimer(void *Queue, uint32_t Flags) TEMU_DEPRECATED
TEMU_API void temu_serialiseEvents(void *Obj, void *Ctxt) TEMU_DEPRECATED
TEMU_API void temu_registerEvent(void *Queue, const char *Name, temu_TimerCb Callback, uint32_t Flags) TEMU_DEPRECATED
TEMU_API int64_t temu_triggerCurrentTimers(void *Queue, int64_t Srt, uint32_t Flags) TEMU_DEPRECATED
#define TEMU_API
Definition: Attributes.h:53