diff options
author | Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com> | 2016-03-01 14:17:38 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2016-03-01 14:17:38 +0000 |
commit | 88f09b75eb99415c7f2ce3d1b010600ba8e37580 (patch) | |
tree | 5b410205320e31f78235fc204f05c91d31b48bf8 /src/libvirt-host.c | |
parent | bb5827950e5b520eeef3bde07058a1c9d51845e4 (diff) | |
download | libvirt-88f09b75eb99415c7f2ce3d1b010600ba8e37580.tar.gz |
close callback: move it to driver
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Diffstat (limited to 'src/libvirt-host.c')
-rw-r--r-- | src/libvirt-host.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/libvirt-host.c b/src/libvirt-host.c index b0597ee2fb..24277b71b7 100644 --- a/src/libvirt-host.c +++ b/src/libvirt-host.c @@ -1217,14 +1217,9 @@ virConnectRegisterCloseCallback(virConnectPtr conn, virCheckConnectReturn(conn, -1); virCheckNonNullArgGoto(cb, error); - if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != NULL) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("A close callback is already registered")); + if (conn->driver->connectRegisterCloseCallback && + conn->driver->connectRegisterCloseCallback(conn, cb, opaque, freecb) < 0) goto error; - } - - virConnectCloseCallbackDataRegister(conn->closeCallback, conn, cb, - opaque, freecb); return 0; @@ -1257,13 +1252,9 @@ virConnectUnregisterCloseCallback(virConnectPtr conn, virCheckConnectReturn(conn, -1); virCheckNonNullArgGoto(cb, error); - if (virConnectCloseCallbackDataGetCallback(conn->closeCallback) != cb) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("A different callback was requested")); + if (conn->driver->connectUnregisterCloseCallback && + conn->driver->connectUnregisterCloseCallback(conn, cb) < 0) goto error; - } - - virConnectCloseCallbackDataUnregister(conn->closeCallback, cb); return 0; |