event: make network events easier to use without casts

While comparing network and domain events, I noticed that the
test driver had to do a cast in one place and not the other.
For consistency, we should hide the necessary casting as low
as possible in the stack, with everything else using saner
types.

* src/conf/network_event.h (virNetworkEventStateRegisterID): Alter
type.
* src/conf/network_event.c (virNetworkEventStateRegisterID): Hoist
cast here.
* src/test/test_driver.c (testConnectNetworkEventRegisterAny):
Simplify callers.
* src/remote/remote_driver.c
(remoteConnectNetworkEventRegisterAny): Likewise.
* src/network/bridge_driver.c
(networkConnectNetworkEventRegisterAny): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Eric Blake 2014-01-04 15:12:34 -07:00
parent e9568360a6
commit 36dd0bd88a
5 changed files with 8 additions and 9 deletions

View File

@ -143,7 +143,7 @@ virNetworkEventStateRegisterID(virConnectPtr conn,
virObjectEventStatePtr state,
virNetworkPtr net,
int eventID,
virConnectObjectEventGenericCallback cb,
virConnectNetworkEventGenericCallback cb,
void *opaque,
virFreeCallback freecb,
int *callbackID)
@ -153,7 +153,8 @@ virNetworkEventStateRegisterID(virConnectPtr conn,
return virObjectEventStateRegisterID(conn, state, net ? net->uuid : NULL,
virNetworkEventClass, eventID,
cb, opaque, freecb, callbackID);
VIR_OBJECT_EVENT_CALLBACK(cb),
opaque, freecb, callbackID);
}

View File

@ -1,6 +1,7 @@
/*
* network_event.h: network event queue processing helpers
*
* Copyright (C) 2014 Red Hat, Inc.
* Copyright (C) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
*
* This library is free software; you can redistribute it and/or
@ -32,7 +33,7 @@ virNetworkEventStateRegisterID(virConnectPtr conn,
virObjectEventStatePtr state,
virNetworkPtr net,
int eventID,
virConnectObjectEventGenericCallback cb,
virConnectNetworkEventGenericCallback cb,
void *opaque,
virFreeCallback freecb,
int *callbackID);

View File

@ -2310,8 +2310,7 @@ networkConnectNetworkEventRegisterAny(virConnectPtr conn,
goto cleanup;
if (virNetworkEventStateRegisterID(conn, driver->networkEventState,
net, eventID,
VIR_OBJECT_EVENT_CALLBACK(callback),
net, eventID, callback,
opaque, freecb, &ret) < 0)
ret = -1;

View File

@ -2928,8 +2928,7 @@ remoteConnectNetworkEventRegisterAny(virConnectPtr conn,
remoteDriverLock(priv);
if ((count = virNetworkEventStateRegisterID(conn, priv->eventState,
net, eventID,
VIR_OBJECT_EVENT_CALLBACK(callback),
net, eventID, callback,
opaque, freecb,
&callbackID)) < 0)
goto done;

View File

@ -6113,8 +6113,7 @@ testConnectNetworkEventRegisterAny(virConnectPtr conn,
testDriverLock(driver);
if (virNetworkEventStateRegisterID(conn, driver->eventState,
net, eventID,
VIR_OBJECT_EVENT_CALLBACK(callback),
net, eventID, callback,
opaque, freecb, &ret) < 0)
ret = -1;
testDriverUnlock(driver);