libxlDriverPrivatePtr driver = conn->privateData;
libxlDriverLock(driver);
- virDomainEventCallbackListRemoveConn(conn,
- driver->domainEventState->callbacks);
+ virDomainEventStateDeregisterConn(conn,
+ driver->domainEventState);
libxlDriverUnlock(driver);
conn->privateData = NULL;
return 0;
int ret;
libxlDriverLock(driver);
- ret = virDomainEventCallbackListAdd(conn,
- driver->domainEventState->callbacks,
- callback, opaque, freecb);
+ ret = virDomainEventStateRegister(conn,
+ driver->domainEventState,
+ callback, opaque, freecb);
libxlDriverUnlock(driver);
return ret;
int ret;
libxlDriverLock(driver);
- if (virDomainEventCallbackListAddID(conn,
- driver->domainEventState->callbacks,
- dom, eventID, callback, opaque,
- freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn,
+ driver->domainEventState,
+ dom, eventID, callback, opaque,
+ freecb, &ret) < 0)
ret = -1;
libxlDriverUnlock(driver);
lxc_driver_t *driver = conn->privateData;
lxcDriverLock(driver);
- virDomainEventCallbackListRemoveConn(conn,
- driver->domainEventState->callbacks);
+ virDomainEventStateDeregisterConn(conn,
+ driver->domainEventState);
lxcProcessAutoDestroyRun(driver, conn);
lxcDriverUnlock(driver);
int ret;
lxcDriverLock(driver);
- ret = virDomainEventCallbackListAdd(conn,
- driver->domainEventState->callbacks,
- callback, opaque, freecb);
+ ret = virDomainEventStateRegister(conn,
+ driver->domainEventState,
+ callback, opaque, freecb);
lxcDriverUnlock(driver);
return ret;
int ret;
lxcDriverLock(driver);
- if (virDomainEventCallbackListAddID(conn,
- driver->domainEventState->callbacks,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn,
+ driver->domainEventState,
+ dom, eventID,
+ callback, opaque, freecb, &ret) < 0)
ret = -1;
lxcDriverUnlock(driver);
/* Get rid of callbacks registered for this conn */
qemuDriverLock(driver);
- virDomainEventCallbackListRemoveConn(conn,
- driver->domainEventState->callbacks);
+ virDomainEventStateDeregisterConn(conn,
+ driver->domainEventState);
qemuProcessAutoDestroyRun(driver, conn);
qemuDriverUnlock(driver);
int ret;
qemuDriverLock(driver);
- ret = virDomainEventCallbackListAdd(conn,
- driver->domainEventState->callbacks,
- callback, opaque, freecb);
+ ret = virDomainEventStateRegister(conn,
+ driver->domainEventState,
+ callback, opaque, freecb);
qemuDriverUnlock(driver);
return ret;
int ret;
qemuDriverLock(driver);
- if (virDomainEventCallbackListAddID(conn,
- driver->domainEventState->callbacks,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn,
+ driver->domainEventState,
+ dom, eventID,
+ callback, opaque, freecb, &ret) < 0)
ret = -1;
qemuDriverUnlock(driver);
remoteDriverLock(priv);
- if (priv->domainEventState->timer < 0) {
- remoteError(VIR_ERR_NO_SUPPORT, "%s", _("no event support"));
- goto done;
- }
-
- if ((count = virDomainEventCallbackListAdd(conn, priv->domainEventState->callbacks,
- callback, opaque, freecb)) < 0) {
+ if ((count = virDomainEventStateRegister(conn, priv->domainEventState,
+ callback, opaque, freecb)) < 0) {
remoteError(VIR_ERR_RPC, "%s", _("adding cb to list"));
goto done;
}
{
struct private_data *priv = conn->privateData;
int rv = -1;
+ int count;
remoteDriverLock(priv);
- if (virDomainEventStateDeregister(conn,
- priv->domainEventState,
- callback) < 0)
+ if ((count = virDomainEventStateDeregister(conn,
+ priv->domainEventState,
+ callback)) < 0)
goto done;
- if (virDomainEventCallbackListCountID(conn,
- priv->domainEventState->callbacks,
- VIR_DOMAIN_EVENT_ID_LIFECYCLE) == 0) {
+ if (count == 0) {
/* Tell the server when we are the last callback deregistering */
if (call (conn, priv, 0, REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER,
(xdrproc_t) xdr_void, (char *) NULL,
remoteDriverLock(priv);
- if (priv->domainEventState->timer < 0) {
- remoteError(VIR_ERR_NO_SUPPORT, "%s", _("no event support"));
- goto done;
- }
-
- if ((count = virDomainEventCallbackListAddID(conn,
- priv->domainEventState->callbacks,
- dom, eventID,
- callback, opaque, freecb,
- &callbackID)) < 0) {
+ if ((count = virDomainEventStateRegisterID(conn,
+ priv->domainEventState,
+ dom, eventID,
+ callback, opaque, freecb,
+ &callbackID)) < 0) {
remoteError(VIR_ERR_RPC, "%s", _("adding cb to list"));
goto done;
}
if (call (conn, priv, 0, REMOTE_PROC_DOMAIN_EVENTS_REGISTER_ANY,
(xdrproc_t) xdr_remote_domain_events_register_any_args, (char *) &args,
(xdrproc_t) xdr_void, (char *)NULL) == -1) {
- virDomainEventCallbackListRemoveID(conn,
- priv->domainEventState->callbacks,
- callbackID);
+ virDomainEventStateDeregisterID(conn,
+ priv->domainEventState,
+ callbackID);
goto done;
}
}
int rv = -1;
remote_domain_events_deregister_any_args args;
int eventID;
+ int count;
remoteDriverLock(priv);
- if ((eventID = virDomainEventCallbackListEventID(conn,
- priv->domainEventState->callbacks,
- callbackID)) < 0) {
+ if ((eventID = virDomainEventStateEventID(conn,
+ priv->domainEventState,
+ callbackID)) < 0) {
remoteError(VIR_ERR_RPC, _("unable to find callback ID %d"), callbackID);
goto done;
}
- if (virDomainEventStateDeregisterID(conn,
- priv->domainEventState,
- callbackID) < 0)
+ if ((count = virDomainEventStateDeregisterID(conn,
+ priv->domainEventState,
+ callbackID)) < 0) {
+ remoteError(VIR_ERR_RPC, _("unable to find callback ID %d"), callbackID);
goto done;
+ }
/* If that was the last callback for this eventID, we need to disable
* events on the server */
- if (virDomainEventCallbackListCountID(conn,
- priv->domainEventState->callbacks,
- eventID) == 0) {
- args.eventID = eventID;
+ if (count == 0) {
+ args.eventID = callbackID;
if (call (conn, priv, 0, REMOTE_PROC_DOMAIN_EVENTS_DEREGISTER_ANY,
(xdrproc_t) xdr_remote_domain_events_deregister_any_args, (char *) &args,
int ret;
testDriverLock(driver);
- ret = virDomainEventCallbackListAdd(conn,
- driver->domainEventState->callbacks,
- callback, opaque, freecb);
+ ret = virDomainEventStateRegister(conn,
+ driver->domainEventState,
+ callback, opaque, freecb);
testDriverUnlock(driver);
return ret;
int ret;
testDriverLock(driver);
- if (virDomainEventCallbackListAddID(conn,
- driver->domainEventState->callbacks,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn,
+ driver->domainEventState,
+ dom, eventID,
+ callback, opaque, freecb, &ret) < 0)
ret = -1;
testDriverUnlock(driver);
struct uml_driver *driver = conn->privateData;
umlDriverLock(driver);
- virDomainEventCallbackListRemoveConn(conn,
- driver->domainEventState->callbacks);
+ virDomainEventStateDeregisterConn(conn,
+ driver->domainEventState);
umlProcessAutoDestroyRun(driver, conn);
umlDriverUnlock(driver);
int ret;
umlDriverLock(driver);
- ret = virDomainEventCallbackListAdd(conn,
- driver->domainEventState->callbacks,
- callback, opaque, freecb);
+ ret = virDomainEventStateRegister(conn,
+ driver->domainEventState,
+ callback, opaque, freecb);
umlDriverUnlock(driver);
return ret;
int ret;
umlDriverLock(driver);
- if (virDomainEventCallbackListAddID(conn,
- driver->domainEventState->callbacks,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn,
+ driver->domainEventState,
+ dom, eventID,
+ callback, opaque, freecb, &ret) < 0)
ret = -1;
umlDriverUnlock(driver);
* later you can iterate over them
*/
- ret = virDomainEventCallbackListAdd(conn, data->domainEvents->callbacks,
- callback, opaque, freecb);
- VIR_DEBUG("virDomainEventCallbackListAdd (ret = %d) ( conn: %p, "
- "data->domainEvents->callbacks: %p, callback: %p, opaque: %p, "
- "freecb: %p )", ret, conn, data->domainEvents->callbacks, callback,
- opaque, freecb);
+ ret = virDomainEventStateRegister(conn, data->domainEvents,
+ callback, opaque, freecb);
+ VIR_DEBUG("virDomainEventStateRegister (ret = %d) ( conn: %p, "
+ "callback: %p, opaque: %p, "
+ "freecb: %p )", ret, conn, callback,
+ opaque, freecb);
}
}
* later you can iterate over them
*/
- if (virDomainEventCallbackListAddID(conn, data->domainEvents->callbacks,
- dom, eventID,
- callback, opaque, freecb, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn, data->domainEvents,
+ dom, eventID,
+ callback, opaque, freecb, &ret) < 0)
ret = -1;
- VIR_DEBUG("virDomainEventCallbackListAddID (ret = %d) ( conn: %p, "
- "data->domainEvents->callbacks: %p, callback: %p, opaque: %p, "
- "freecb: %p )", ret, conn, data->domainEvents->callbacks, callback,
+ VIR_DEBUG("virDomainEventStateRegisterID (ret = %d) ( conn: %p, "
+ "callback: %p, opaque: %p, "
+ "freecb: %p )", ret, conn, callback,
opaque, freecb);
}
}
return -1;
}
- ret = virDomainEventCallbackListAdd(conn, priv->domainEvents->callbacks,
- callback, opaque, freefunc);
+ ret = virDomainEventStateRegister(conn, priv->domainEvents,
+ callback, opaque, freefunc);
xenUnifiedUnlock(priv);
return (ret);
return -1;
}
- if (virDomainEventCallbackListAddID(conn, priv->domainEvents->callbacks,
- dom, eventID,
- callback, opaque, freefunc, &ret) < 0)
+ if (virDomainEventStateRegisterID(conn, priv->domainEvents,
+ dom, eventID,
+ callback, opaque, freefunc, &ret) < 0)
ret = -1;
xenUnifiedUnlock(priv);