libvirt/daemon/remote_dispatch_args.h
Daniel P. Berrange 097e07a63a Remote driver & daemon impl of new event API
This wires up the remote driver to handle the new events APIs.
The public API allows an application to request a callback filters
events to a specific domain object, and register multiple callbacks
for the same event type. On the wire there are two strategies for
this

 - Register multiple callbacks with the remote daemon, each
   with filtering as needed
 - Register only one callback per event type, with no filtering

Both approaches have potential inefficiency. In the first scheme,
the same event gets sent over the wire many times if multiple
callbacks are registered. With the second scheme, unneccessary
events get sent over the wire if a per-domain filter is set on
the client. The second scheme is far easier to implement though,
so this patch takes that approach.

* daemon/dispatch.h: Don't export remoteRelayDomainEvent since it
  is no longer needed for unregistering callbacks, instead the
  unique callback ID is used
* daemon/libvirtd.c, daemon/libvirtd.h: Track and unregister
  callbacks based on callback ID, instead of function pointer
* daemon/remote.c: Switch over to using virConnectDomainEventRegisterAny
  instead of legacy virConnectDomainEventRegister function. Refactor
  remoteDispatchDomainEventSend() to cope with arbitrary event types
* src/driver.h, src/driver.c: Move verify() call into source file
  instead of header, to avoid polluting the global namespace with
  the verify function name
* src/remote/remote_driver.c: Implement new APIs for event
  registration. Refactor processCallDispatchMessage() to cope
  with arbitrary incoming event types. Merge remoteDomainQueueEvent()
  into processCallDispatchMessage() to avoid duplication of code.
  Rename remoteDomainReadEvent() to remoteDomainReadEventLifecycle()
* src/remote/remote_protocol.x: Define wire format for the new
  virConnectDomainEventRegisterAny and virConnectDomainEventDeregisterAny
  functions
2010-03-26 13:52:29 +00:00

147 lines
10 KiB
C

/* Automatically generated by remote_generate_stubs.pl.
* Do not edit this file. Any changes you make will be lost.
*/
remote_open_args val_remote_open_args;
remote_get_max_vcpus_args val_remote_get_max_vcpus_args;
remote_domain_attach_device_args val_remote_domain_attach_device_args;
remote_domain_create_args val_remote_domain_create_args;
remote_domain_create_xml_args val_remote_domain_create_xml_args;
remote_domain_define_xml_args val_remote_domain_define_xml_args;
remote_domain_destroy_args val_remote_domain_destroy_args;
remote_domain_detach_device_args val_remote_domain_detach_device_args;
remote_domain_dump_xml_args val_remote_domain_dump_xml_args;
remote_domain_get_autostart_args val_remote_domain_get_autostart_args;
remote_domain_get_info_args val_remote_domain_get_info_args;
remote_domain_get_max_memory_args val_remote_domain_get_max_memory_args;
remote_domain_get_max_vcpus_args val_remote_domain_get_max_vcpus_args;
remote_domain_get_os_type_args val_remote_domain_get_os_type_args;
remote_domain_get_vcpus_args val_remote_domain_get_vcpus_args;
remote_list_defined_domains_args val_remote_list_defined_domains_args;
remote_domain_lookup_by_id_args val_remote_domain_lookup_by_id_args;
remote_domain_lookup_by_name_args val_remote_domain_lookup_by_name_args;
remote_domain_lookup_by_uuid_args val_remote_domain_lookup_by_uuid_args;
remote_domain_pin_vcpu_args val_remote_domain_pin_vcpu_args;
remote_domain_reboot_args val_remote_domain_reboot_args;
remote_domain_resume_args val_remote_domain_resume_args;
remote_domain_set_autostart_args val_remote_domain_set_autostart_args;
remote_domain_set_max_memory_args val_remote_domain_set_max_memory_args;
remote_domain_set_memory_args val_remote_domain_set_memory_args;
remote_domain_set_vcpus_args val_remote_domain_set_vcpus_args;
remote_domain_shutdown_args val_remote_domain_shutdown_args;
remote_domain_suspend_args val_remote_domain_suspend_args;
remote_domain_undefine_args val_remote_domain_undefine_args;
remote_list_defined_networks_args val_remote_list_defined_networks_args;
remote_list_domains_args val_remote_list_domains_args;
remote_list_networks_args val_remote_list_networks_args;
remote_network_create_args val_remote_network_create_args;
remote_network_create_xml_args val_remote_network_create_xml_args;
remote_network_define_xml_args val_remote_network_define_xml_args;
remote_network_destroy_args val_remote_network_destroy_args;
remote_network_dump_xml_args val_remote_network_dump_xml_args;
remote_network_get_autostart_args val_remote_network_get_autostart_args;
remote_network_get_bridge_name_args val_remote_network_get_bridge_name_args;
remote_network_lookup_by_name_args val_remote_network_lookup_by_name_args;
remote_network_lookup_by_uuid_args val_remote_network_lookup_by_uuid_args;
remote_network_set_autostart_args val_remote_network_set_autostart_args;
remote_network_undefine_args val_remote_network_undefine_args;
remote_domain_core_dump_args val_remote_domain_core_dump_args;
remote_domain_restore_args val_remote_domain_restore_args;
remote_domain_save_args val_remote_domain_save_args;
remote_domain_get_scheduler_type_args val_remote_domain_get_scheduler_type_args;
remote_domain_get_scheduler_parameters_args val_remote_domain_get_scheduler_parameters_args;
remote_domain_set_scheduler_parameters_args val_remote_domain_set_scheduler_parameters_args;
remote_supports_feature_args val_remote_supports_feature_args;
remote_domain_migrate_prepare_args val_remote_domain_migrate_prepare_args;
remote_domain_migrate_perform_args val_remote_domain_migrate_perform_args;
remote_domain_migrate_finish_args val_remote_domain_migrate_finish_args;
remote_domain_block_stats_args val_remote_domain_block_stats_args;
remote_domain_interface_stats_args val_remote_domain_interface_stats_args;
remote_auth_sasl_start_args val_remote_auth_sasl_start_args;
remote_auth_sasl_step_args val_remote_auth_sasl_step_args;
remote_list_storage_pools_args val_remote_list_storage_pools_args;
remote_list_defined_storage_pools_args val_remote_list_defined_storage_pools_args;
remote_find_storage_pool_sources_args val_remote_find_storage_pool_sources_args;
remote_storage_pool_create_xml_args val_remote_storage_pool_create_xml_args;
remote_storage_pool_define_xml_args val_remote_storage_pool_define_xml_args;
remote_storage_pool_create_args val_remote_storage_pool_create_args;
remote_storage_pool_build_args val_remote_storage_pool_build_args;
remote_storage_pool_destroy_args val_remote_storage_pool_destroy_args;
remote_storage_pool_delete_args val_remote_storage_pool_delete_args;
remote_storage_pool_undefine_args val_remote_storage_pool_undefine_args;
remote_storage_pool_refresh_args val_remote_storage_pool_refresh_args;
remote_storage_pool_lookup_by_name_args val_remote_storage_pool_lookup_by_name_args;
remote_storage_pool_lookup_by_uuid_args val_remote_storage_pool_lookup_by_uuid_args;
remote_storage_pool_lookup_by_volume_args val_remote_storage_pool_lookup_by_volume_args;
remote_storage_pool_get_info_args val_remote_storage_pool_get_info_args;
remote_storage_pool_dump_xml_args val_remote_storage_pool_dump_xml_args;
remote_storage_pool_get_autostart_args val_remote_storage_pool_get_autostart_args;
remote_storage_pool_set_autostart_args val_remote_storage_pool_set_autostart_args;
remote_storage_pool_num_of_volumes_args val_remote_storage_pool_num_of_volumes_args;
remote_storage_pool_list_volumes_args val_remote_storage_pool_list_volumes_args;
remote_storage_vol_create_xml_args val_remote_storage_vol_create_xml_args;
remote_storage_vol_delete_args val_remote_storage_vol_delete_args;
remote_storage_vol_lookup_by_name_args val_remote_storage_vol_lookup_by_name_args;
remote_storage_vol_lookup_by_key_args val_remote_storage_vol_lookup_by_key_args;
remote_storage_vol_lookup_by_path_args val_remote_storage_vol_lookup_by_path_args;
remote_storage_vol_get_info_args val_remote_storage_vol_get_info_args;
remote_storage_vol_dump_xml_args val_remote_storage_vol_dump_xml_args;
remote_storage_vol_get_path_args val_remote_storage_vol_get_path_args;
remote_node_get_cells_free_memory_args val_remote_node_get_cells_free_memory_args;
remote_domain_block_peek_args val_remote_domain_block_peek_args;
remote_domain_memory_peek_args val_remote_domain_memory_peek_args;
remote_domain_migrate_prepare2_args val_remote_domain_migrate_prepare2_args;
remote_domain_migrate_finish2_args val_remote_domain_migrate_finish2_args;
remote_node_num_of_devices_args val_remote_node_num_of_devices_args;
remote_node_list_devices_args val_remote_node_list_devices_args;
remote_node_device_lookup_by_name_args val_remote_node_device_lookup_by_name_args;
remote_node_device_dump_xml_args val_remote_node_device_dump_xml_args;
remote_node_device_get_parent_args val_remote_node_device_get_parent_args;
remote_node_device_num_of_caps_args val_remote_node_device_num_of_caps_args;
remote_node_device_list_caps_args val_remote_node_device_list_caps_args;
remote_node_device_dettach_args val_remote_node_device_dettach_args;
remote_node_device_re_attach_args val_remote_node_device_re_attach_args;
remote_node_device_reset_args val_remote_node_device_reset_args;
remote_domain_get_security_label_args val_remote_domain_get_security_label_args;
remote_node_device_create_xml_args val_remote_node_device_create_xml_args;
remote_node_device_destroy_args val_remote_node_device_destroy_args;
remote_storage_vol_create_xml_from_args val_remote_storage_vol_create_xml_from_args;
remote_list_interfaces_args val_remote_list_interfaces_args;
remote_interface_lookup_by_name_args val_remote_interface_lookup_by_name_args;
remote_interface_lookup_by_mac_string_args val_remote_interface_lookup_by_mac_string_args;
remote_interface_get_xml_desc_args val_remote_interface_get_xml_desc_args;
remote_interface_define_xml_args val_remote_interface_define_xml_args;
remote_interface_undefine_args val_remote_interface_undefine_args;
remote_interface_create_args val_remote_interface_create_args;
remote_interface_destroy_args val_remote_interface_destroy_args;
remote_domain_xml_from_native_args val_remote_domain_xml_from_native_args;
remote_domain_xml_to_native_args val_remote_domain_xml_to_native_args;
remote_list_defined_interfaces_args val_remote_list_defined_interfaces_args;
remote_list_secrets_args val_remote_list_secrets_args;
remote_secret_lookup_by_uuid_args val_remote_secret_lookup_by_uuid_args;
remote_secret_define_xml_args val_remote_secret_define_xml_args;
remote_secret_get_xml_desc_args val_remote_secret_get_xml_desc_args;
remote_secret_set_value_args val_remote_secret_set_value_args;
remote_secret_get_value_args val_remote_secret_get_value_args;
remote_secret_undefine_args val_remote_secret_undefine_args;
remote_secret_lookup_by_usage_args val_remote_secret_lookup_by_usage_args;
remote_domain_migrate_prepare_tunnel_args val_remote_domain_migrate_prepare_tunnel_args;
remote_domain_is_active_args val_remote_domain_is_active_args;
remote_domain_is_persistent_args val_remote_domain_is_persistent_args;
remote_network_is_active_args val_remote_network_is_active_args;
remote_network_is_persistent_args val_remote_network_is_persistent_args;
remote_storage_pool_is_active_args val_remote_storage_pool_is_active_args;
remote_storage_pool_is_persistent_args val_remote_storage_pool_is_persistent_args;
remote_interface_is_active_args val_remote_interface_is_active_args;
remote_cpu_compare_args val_remote_cpu_compare_args;
remote_domain_memory_stats_args val_remote_domain_memory_stats_args;
remote_domain_attach_device_flags_args val_remote_domain_attach_device_flags_args;
remote_domain_detach_device_flags_args val_remote_domain_detach_device_flags_args;
remote_cpu_baseline_args val_remote_cpu_baseline_args;
remote_domain_get_job_info_args val_remote_domain_get_job_info_args;
remote_domain_abort_job_args val_remote_domain_abort_job_args;
remote_storage_vol_wipe_args val_remote_storage_vol_wipe_args;
remote_domain_migrate_set_max_downtime_args val_remote_domain_migrate_set_max_downtime_args;
remote_domain_events_register_any_args val_remote_domain_events_register_any_args;
remote_domain_events_deregister_any_args val_remote_domain_events_deregister_any_args;