/* AUTOMATICALLY GENERATED by qapi-gen.py DO NOT MODIFY */

/*
 * QAPI Events emission
 *
 * Copyright (c) 2014 Wenchao Xia
 * Copyright (c) 2015-2018 Red Hat Inc.
 *
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 * See the COPYING.LIB file in the top-level directory.
 */

#ifndef QAPI_EMIT_EVENTS_H
#define QAPI_EMIT_EVENTS_H

#include "qapi/util.h"

typedef enum QAPIEvent {
    QAPI_EVENT_SHUTDOWN,
    QAPI_EVENT_POWERDOWN,
    QAPI_EVENT_RESET,
    QAPI_EVENT_STOP,
    QAPI_EVENT_RESUME,
    QAPI_EVENT_SUSPEND,
    QAPI_EVENT_SUSPEND_DISK,
    QAPI_EVENT_WAKEUP,
    QAPI_EVENT_WATCHDOG,
    QAPI_EVENT_GUEST_PANICKED,
    QAPI_EVENT_GUEST_CRASHLOADED,
    QAPI_EVENT_GUEST_PVSHUTDOWN,
    QAPI_EVENT_MEMORY_FAILURE,
    QAPI_EVENT_JOB_STATUS_CHANGE,
    QAPI_EVENT_DEVICE_TRAY_MOVED,
    QAPI_EVENT_PR_MANAGER_STATUS_CHANGED,
    QAPI_EVENT_BLOCK_IMAGE_CORRUPTED,
    QAPI_EVENT_BLOCK_IO_ERROR,
    QAPI_EVENT_BLOCK_JOB_COMPLETED,
    QAPI_EVENT_BLOCK_JOB_CANCELLED,
    QAPI_EVENT_BLOCK_JOB_ERROR,
    QAPI_EVENT_BLOCK_JOB_READY,
    QAPI_EVENT_BLOCK_JOB_PENDING,
    QAPI_EVENT_BLOCK_WRITE_THRESHOLD,
    QAPI_EVENT_QUORUM_FAILURE,
    QAPI_EVENT_QUORUM_REPORT_BAD,
    QAPI_EVENT_BLOCK_EXPORT_DELETED,
    QAPI_EVENT_VSERPORT_CHANGE,
    QAPI_EVENT_DUMP_COMPLETED,
    QAPI_EVENT_NIC_RX_FILTER_CHANGED,
    QAPI_EVENT_FAILOVER_NEGOTIATED,
    QAPI_EVENT_NETDEV_STREAM_CONNECTED,
    QAPI_EVENT_NETDEV_STREAM_DISCONNECTED,
    QAPI_EVENT_SPICE_CONNECTED,
    QAPI_EVENT_SPICE_INITIALIZED,
    QAPI_EVENT_SPICE_DISCONNECTED,
    QAPI_EVENT_SPICE_MIGRATE_COMPLETED,
    QAPI_EVENT_VNC_CONNECTED,
    QAPI_EVENT_VNC_INITIALIZED,
    QAPI_EVENT_VNC_DISCONNECTED,
    QAPI_EVENT_MIGRATION,
    QAPI_EVENT_MIGRATION_PASS,
    QAPI_EVENT_COLO_EXIT,
    QAPI_EVENT_UNPLUG_PRIMARY,
    QAPI_EVENT_DEVICE_DELETED,
    QAPI_EVENT_DEVICE_UNPLUG_GUEST_ERROR,
    QAPI_EVENT_BALLOON_CHANGE,
    QAPI_EVENT_HV_BALLOON_STATUS_REPORT,
    QAPI_EVENT_MEMORY_DEVICE_SIZE_CHANGE,
    QAPI_EVENT_CPU_POLARIZATION_CHANGE,
    QAPI_EVENT_RTC_CHANGE,
    QAPI_EVENT_VFU_CLIENT_HANGUP,
    QAPI_EVENT_ACPI_DEVICE_OST,
    QAPI_EVENT_VFIO_MIGRATION,
    QAPI_EVENT__MAX,
} QAPIEvent;

#define QAPIEvent_str(val) \
    qapi_enum_lookup(&QAPIEvent_lookup, (val))

extern const QEnumLookup QAPIEvent_lookup;

void qapi_event_emit(QAPIEvent event, QDict *qdict);

#endif /* QAPI_EMIT_EVENTS_H */
