• E
    event: prepare client to track domain callbackID · caaf6ba1
    Eric Blake 提交于
    We want to convert over to server-side events, even for older
    APIs.  To do that, the client side of the remote driver wants
    to distinguish between legacy virConnectDomainEventRegister and
    normal virConnectDomainEventRegisterAny, while knowing the
    client callbackID and the server's serverID for both types of
    registration.  The client also needs to probe whether the
    server supports server-side filtering.  However, for ease of
    review, we don't actually use the new RPCs until a later patch.
    
    * src/conf/object_event_private.h (virObjectEventStateCallbackID):
    Add parameter.
    * src/conf/object_event.c (virObjectEventCallbackListAddID)
    (virObjectEventStateRegisterID): Separate legacy from callbackID.
    (virObjectEventStateCallbackID): Pass through parameter.
    (virObjectEventCallbackLookup): Let legacy and global domain
    lifecycle events share a common remoteID.
    * src/conf/network_event.c (virNetworkEventStateRegisterID):
    Update caller.
    * src/conf/domain_event.c (virDomainEventStateRegister)
    (virDomainEventStateRegisterID, virDomainEventStateDeregister):
    Likewise.
    (virDomainEventStateRegisterClient)
    (virDomainEventStateCallbackID): Implement new functions.
    * src/conf/domain_event.h (virDomainEventStateRegisterClient)
    (virDomainEventStateCallbackID): New prototypes.
    * src/remote/remote_driver.c (private_data): Add field.
    (doRemoteOpen): Probe server feature.
    (remoteConnectDomainEventRegister)
    (remoteConnectDomainEventRegisterAny): Use new function.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    caaf6ba1
object_event.c 31.1 KB