]> xenbits.xensource.com Git - libvirt.git/commitdiff
event: make network events easier to use without casts
authorEric Blake <eblake@redhat.com>
Sat, 4 Jan 2014 22:12:34 +0000 (15:12 -0700)
committerEric Blake <eblake@redhat.com>
Tue, 7 Jan 2014 20:05:27 +0000 (13:05 -0700)
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>
src/conf/network_event.c
src/conf/network_event.h
src/network/bridge_driver.c
src/remote/remote_driver.c
src/test/test_driver.c

index 38c74d1ab7e385bb9da604bf2b85b0f13c9d49a6..3cd884d2f8f37d98eb287004f6b10046cb3be582 100644 (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);
 }
 
 
index a1afbc5e0d1220dc770e3b39208b4ba96f10052d..843faf9b72342f103df3fd4ef8d0a1b4f8a5d855 100644 (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);
index 9dc1f7e22f0edd4fe1aa43238e52f31e1bbeca1e..95e4b658d78f1479a862d4b34d08ece8ea521cab 100644 (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;
 
index 7e48c59efeccd65ed52621092d2f89868f28fdf1..fecb9b2e6a1a76a4f98437c776ccf115a7ae91bf 100644 (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;
index da76666a82a24f7bf3b683ecfd9e5fd1f77584a2..cde82a1990dc201f754cb983ad2cfc60edee63e6 100644 (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);