23
23
#include "internal.h"
26
25
#ifndef __DOMAIN_EVENT_H__
27
26
#define __DOMAIN_EVENT_H__
28
#include "domain_conf.h"
29
30
struct _virDomainEventCallback {
30
31
virConnectPtr conn;
31
32
virConnectDomainEventCallback cb;
33
34
virFreeCallback freecb;
36
37
typedef struct _virDomainEventCallback virDomainEventCallback;
37
38
typedef virDomainEventCallback *virDomainEventCallbackPtr;
58
59
int virDomainEventCallbackListRemoveConn(virConnectPtr conn,
59
60
virDomainEventCallbackListPtr cbList);
62
int virDomainEventCallbackListMarkDelete(virConnectPtr conn,
63
virDomainEventCallbackListPtr cbList,
64
virConnectDomainEventCallback callback);
65
int virDomainEventCallbackListPurgeMarked(virDomainEventCallbackListPtr cbList);
62
68
* Dispatching domain events that come in while
63
69
* in a call / response rpc
65
71
struct _virDomainEvent {
74
unsigned char uuid[VIR_UUID_BUFLEN];
70
78
typedef struct _virDomainEvent virDomainEvent;
77
85
typedef struct _virDomainEventQueue virDomainEventQueue;
78
86
typedef virDomainEventQueue *virDomainEventQueuePtr;
80
int virDomainEventCallbackQueuePush(virDomainEventQueuePtr evtQueue,
88
virDomainEventQueuePtr virDomainEventQueueNew(void);
90
virDomainEventPtr virDomainEventNew(int id, const char *name, const unsigned char *uuid, int type, int detail);
91
virDomainEventPtr virDomainEventNewFromDom(virDomainPtr dom, int type, int detail);
92
virDomainEventPtr virDomainEventNewFromObj(virDomainObjPtr obj, int type, int detail);
93
virDomainEventPtr virDomainEventNewFromDef(virDomainDefPtr def, int type, int detail);
95
int virDomainEventQueuePush(virDomainEventQueuePtr evtQueue,
96
virDomainEventPtr event);
86
virDomainEventCallbackQueuePop(virDomainEventQueuePtr evtQueue);
99
virDomainEventQueuePop(virDomainEventQueuePtr evtQueue);
101
void virDomainEventFree(virDomainEventPtr event);
88
102
void virDomainEventQueueFree(virDomainEventQueuePtr queue);
104
typedef void (*virDomainEventDispatchFunc)(virConnectPtr conn,
105
virDomainEventPtr event,
106
virConnectDomainEventCallback cb,
109
void virDomainEventDispatchDefaultFunc(virConnectPtr conn,
110
virDomainEventPtr event,
111
virConnectDomainEventCallback cb,
115
void virDomainEventDispatch(virDomainEventPtr event,
116
virDomainEventCallbackListPtr cbs,
117
virDomainEventDispatchFunc dispatch,
119
void virDomainEventQueueDispatch(virDomainEventQueuePtr queue,
120
virDomainEventCallbackListPtr cbs,
121
virDomainEventDispatchFunc dispatch,