diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2009-07-10 12:18:12 +0100 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2009-09-29 15:48:52 +0100 |
commit | f444dc0597044265a7585d94c3a19875ded35cac (patch) | |
tree | 0efc1d6f4bf1be7859cccfecf17e59b064b9fa02 /generator.py | |
parent | 4588a49e12675a0d74407d846cf763ecd941abec (diff) | |
download | libvirt-python-v6-f444dc0597044265a7585d94c3a19875ded35cac.tar.gz libvirt-python-v6-f444dc0597044265a7585d94c3a19875ded35cac.tar.xz libvirt-python-v6-f444dc0597044265a7585d94c3a19875ded35cac.zip |
Add public API definition for data stream handling
* include/libvirt/libvirt.h.in: Public API contract for
virStreamPtr object
* src/libvirt_public.syms: Export data stream APIs
* src/libvirt_private.syms: Export internal helper APIs
* src/libvirt.c: Data stream API driver dispatch
* src/datatypes.h, src/datatypes.c: Internal helpers for virStreamPtr
object
* src/driver.h: Define internal driver API for streams
* .x-sc_avoid_write: Ignore src/libvirt.c because it trips
up on comments including write()
* python/Makefile.am: Add libvirt-override-virStream.py
* python/generator.py: Add rules for virStreamPtr class
* python/typewrappers.h, python/typewrappers.c: Wrapper
for virStreamPtr
* docs/libvirt-api.xml, docs/libvirt-refs.xml: Regenerate
with new APIs
Diffstat (limited to 'generator.py')
-rwxr-xr-x | generator.py | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/generator.py b/generator.py index 178a415..48ad14b 100755 --- a/generator.py +++ b/generator.py @@ -282,6 +282,11 @@ py_types = { 'const virSecretPtr': ('O', "virSecret", "virSecretPtr", "virSecretPtr"), 'virSecret *': ('O', "virSecret", "virSecretPtr", "virSecretPtr"), 'const virSecret *': ('O', "virSecret", "virSecretPtr", "virSecretPtr"), + + 'virStreamPtr': ('O', "virStream", "virStreamPtr", "virStreamPtr"), + 'const virStreamPtr': ('O', "virStream", "virStreamPtr", "virStreamPtr"), + 'virStream *': ('O', "virStream", "virStreamPtr", "virStreamPtr"), + 'const virStream *': ('O', "virStream", "virStreamPtr", "virStreamPtr"), } py_return_types = { @@ -338,6 +343,8 @@ skip_impl = ( 'virSecretGetUUID', 'virSecretGetUUIDString', 'virSecretLookupByUUID', + 'virStreamRecv', + 'virStreamSend', 'virStoragePoolGetUUID', 'virStoragePoolGetUUIDString', 'virStoragePoolLookupByUUID', @@ -373,6 +380,11 @@ skip_function = ( 'virConnectDomainEventDeregister', # overridden in virConnect.py 'virSaveLastError', # We have our own python error wrapper 'virFreeError', # Only needed if we use virSaveLastError + 'virStreamEventAddCallback', + 'virStreamRecvAll', + 'virStreamSendAll', + 'virStreamRef', + 'virStreamFree', ) @@ -643,6 +655,8 @@ classes_type = { "virNodeDevice *": ("._o", "virNodeDevice(self, _obj=%s)", "virNodeDevice"), "virSecretPtr": ("._o", "virSecret(self, _obj=%s)", "virSecret"), "virSecret *": ("._o", "virSecret(self, _obj=%s)", "virSecret"), + "virStreamPtr": ("._o", "virStream(self, _obj=%s)", "virStream"), + "virStream *": ("._o", "virStream(self, _obj=%s)", "virStream"), "virConnectPtr": ("._o", "virConnect(_obj=%s)", "virConnect"), "virConnect *": ("._o", "virConnect(_obj=%s)", "virConnect"), } @@ -652,7 +666,8 @@ converter_type = { primary_classes = ["virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", - "virConnect", "virNodeDevice", "virSecret" ] + "virConnect", "virNodeDevice", "virSecret", + "virStream"] classes_ancestor = { } @@ -663,7 +678,9 @@ classes_destructors = { "virStoragePool": "virStoragePoolFree", "virStorageVol": "virStorageVolFree", "virNodeDevice" : "virNodeDeviceFree", - "virSecret": "virSecretFree" + "virSecret": "virSecretFree", + # We hand-craft __del__ for this one + #"virStream": "virStreamFree", } functions_noexcept = { @@ -782,6 +799,11 @@ def nameFixup(name, classe, type, file): elif name[0:9] == 'virSecret': func = name[9:] func = string.lower(func[0:1]) + func[1:] + elif name[0:12] == 'virStreamNew': + func = "newStream" + elif name[0:9] == 'virStream': + func = name[9:] + func = string.lower(func[0:1]) + func[1:] elif name[0:17] == "virStoragePoolGet": func = name[17:] func = string.lower(func[0:1]) + func[1:] @@ -1059,7 +1081,8 @@ def buildWrappers(): classes_ancestor[classname])) else: classes.write("class %s:\n" % (classname)) - if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", "virNodeDevice", "virSecret" ]: + if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", + "virStorageVol", "virNodeDevice", "virSecret","virStream" ]: classes.write(" def __init__(self, conn, _obj=None):\n") else: classes.write(" def __init__(self, _obj=None):\n") @@ -1067,7 +1090,8 @@ def buildWrappers(): list = reference_keepers[classname] for ref in list: classes.write(" self.%s = None\n" % ref[1]) - if classname in [ "virDomain", "virNetwork", "virInterface", "virNodeDevice", "virSecret" ]: + if classname in [ "virDomain", "virNetwork", "virInterface", + "virNodeDevice", "virSecret", "virStream" ]: classes.write(" self._conn = conn\n") elif classname in [ "virStorageVol", "virStoragePool" ]: classes.write(" self._conn = conn\n" + \ |