提交 5c17a371 编写于 作者: D Daniel P. Berrange

Introduce abstract virNetworkEvent class

Inject a virNetworkEvent class between virObjectEvent
and virNetworkEventLifecycle to mirror virDomainEvent.
Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
上级 6e2545c0
......@@ -28,23 +28,40 @@
#include "datatypes.h"
#include "virlog.h"
struct _virNetworkEventLifecycle {
struct _virNetworkEvent {
virObjectEvent parent;
/* Unused attribute to get virNetworkEvent class being created */
bool dummy;
};
typedef struct _virNetworkEvent virNetworkEvent;
typedef virNetworkEvent *virNetworkEventPtr;
struct _virNetworkEventLifecycle {
virNetworkEvent parent;
int type;
int detail;
};
typedef struct _virNetworkEventLifecycle virNetworkEventLifecycle;
typedef virNetworkEventLifecycle *virNetworkEventLifecyclePtr;
static virClassPtr virNetworkEventClass;
static virClassPtr virNetworkEventLifecycleClass;
static void virNetworkEventDispose(void *obj);
static void virNetworkEventLifecycleDispose(void *obj);
static int
virNetworkEventsOnceInit(void)
{
if (!(virNetworkEventLifecycleClass =
if (!(virNetworkEventClass =
virClassNew(virClassForObjectEvent(),
"virNetworkEvent",
sizeof(virNetworkEvent),
virNetworkEventDispose)))
return -1;
if (!(virNetworkEventLifecycleClass =
virClassNew(virNetworkEventClass,
"virNetworkEventLifecycle",
sizeof(virNetworkEventLifecycle),
virNetworkEventLifecycleDispose)))
......@@ -54,6 +71,14 @@ virNetworkEventsOnceInit(void)
VIR_ONCE_GLOBAL_INIT(virNetworkEvents)
void
virNetworkEventDispose(void *obj)
{
virNetworkEventPtr event = obj;
VIR_DEBUG("obj=%p", event);
}
void
virNetworkEventLifecycleDispose(void *obj)
{
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册