60 lines
1.5 KiB
Python
60 lines
1.5 KiB
Python
"""
|
|
QEMU Monitor Protocol (QMP) development library & tooling.
|
|
|
|
This package provides a fairly low-level class for communicating
|
|
asynchronously with QMP protocol servers, as implemented by QEMU, the
|
|
QEMU Guest Agent, and the QEMU Storage Daemon.
|
|
|
|
`QMPClient` provides the main functionality of this package. All errors
|
|
raised by this library derive from `QMPError`, see `qmp.error` for
|
|
additional detail. See `qmp.events` for an in-depth tutorial on
|
|
managing QMP events.
|
|
"""
|
|
|
|
# Copyright (C) 2020-2022 John Snow for Red Hat, Inc.
|
|
#
|
|
# Authors:
|
|
# John Snow <jsnow@redhat.com>
|
|
#
|
|
# Based on earlier work by Luiz Capitulino <lcapitulino@redhat.com>.
|
|
#
|
|
# This work is licensed under the terms of the GNU LGPL, version 2 or
|
|
# later. See the COPYING file in the top-level directory.
|
|
|
|
import logging
|
|
|
|
from .error import QMPError
|
|
from .events import EventListener
|
|
from .message import Message
|
|
from .protocol import (
|
|
ConnectError,
|
|
Runstate,
|
|
SocketAddrT,
|
|
StateError,
|
|
)
|
|
from .qmp_client import ExecInterruptedError, ExecuteError, QMPClient
|
|
|
|
|
|
# Suppress logging unless an application engages it.
|
|
logging.getLogger('qemu.qmp').addHandler(logging.NullHandler())
|
|
|
|
|
|
# The order of these fields impact the Sphinx documentation order.
|
|
__all__ = (
|
|
# Classes, most to least important
|
|
'QMPClient',
|
|
'Message',
|
|
'EventListener',
|
|
'Runstate',
|
|
|
|
# Exceptions, most generic to most explicit
|
|
'QMPError',
|
|
'StateError',
|
|
'ConnectError',
|
|
'ExecuteError',
|
|
'ExecInterruptedError',
|
|
|
|
# Type aliases
|
|
'SocketAddrT',
|
|
)
|