summaryrefslogtreecommitdiffstats
path: root/python/qemu/aqmp/legacy.py
diff options
context:
space:
mode:
authorJohn Snow2022-01-11 00:28:47 +0100
committerJohn Snow2022-01-21 22:01:31 +0100
commit0e6bfd8b96e407db7b0cb5e8c14cc315a7154f53 (patch)
tree2294d59be34e0a7f901f889135d5c3b16464b86f /python/qemu/aqmp/legacy.py
parentpython/aqmp: handle asyncio.TimeoutError on execute() (diff)
downloadqemu-0e6bfd8b96e407db7b0cb5e8c14cc315a7154f53.tar.gz
qemu-0e6bfd8b96e407db7b0cb5e8c14cc315a7154f53.tar.xz
qemu-0e6bfd8b96e407db7b0cb5e8c14cc315a7154f53.zip
python/aqmp: copy type definitions from qmp
Copy the remaining type definitions from QMP into the qemu.aqmp.legacy module. Now, users that require the legacy interface don't need to import anything else but qemu.aqmp.legacy wrapper. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Beraldo Leal <bleal@redhat.com>
Diffstat (limited to 'python/qemu/aqmp/legacy.py')
-rw-r--r--python/qemu/aqmp/legacy.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/python/qemu/aqmp/legacy.py b/python/qemu/aqmp/legacy.py
index 2ccb136b02..9431fe9330 100644
--- a/python/qemu/aqmp/legacy.py
+++ b/python/qemu/aqmp/legacy.py
@@ -6,7 +6,9 @@ This class pretends to be qemu.qmp.QEMUMonitorProtocol.
import asyncio
from typing import (
+ Any,
Awaitable,
+ Dict,
List,
Optional,
TypeVar,
@@ -14,13 +16,29 @@ from typing import (
)
import qemu.qmp
-from qemu.qmp import QMPMessage, QMPReturnValue, SocketAddrT
from .error import AQMPError
-from .protocol import Runstate
+from .protocol import Runstate, SocketAddrT
from .qmp_client import QMPClient
+#: QMPMessage is an entire QMP message of any kind.
+QMPMessage = Dict[str, Any]
+
+#: QMPReturnValue is the 'return' value of a command.
+QMPReturnValue = object
+
+#: QMPObject is any object in a QMP message.
+QMPObject = Dict[str, object]
+
+# QMPMessage can be outgoing commands or incoming events/returns.
+# QMPReturnValue is usually a dict/json object, but due to QAPI's
+# 'returns-whitelist', it can actually be anything.
+#
+# {'return': {}} is a QMPMessage,
+# {} is the QMPReturnValue.
+
+
# pylint: disable=missing-docstring