summaryrefslogtreecommitdiffstats
path: root/generator.py
diff options
context:
space:
mode:
authorStefan Berger <stefanb@us.ibm.com>2010-04-29 06:46:01 -0400
committerStefan Berger <stefanb@us.ibm.com>2010-04-29 06:46:01 -0400
commit626e52010b6151cbae01e91aa0b94dae8490537c (patch)
tree8097d742db59ce95cf4281b724965c3d1c5999d6 /generator.py
parente4affdfbc19a6bd2778acf0e64a947cecd7eea83 (diff)
downloadlibvirt-python-split-626e52010b6151cbae01e91aa0b94dae8490537c.tar.gz
libvirt-python-split-626e52010b6151cbae01e91aa0b94dae8490537c.tar.xz
libvirt-python-split-626e52010b6151cbae01e91aa0b94dae8490537c.zip
nwfilter: python bindings for nwfilter
I have primarily followed the pattern of the 'secret' driver to provide support for the missing python bindings for the network filter API.
Diffstat (limited to 'generator.py')
-rwxr-xr-xgenerator.py35
1 files changed, 31 insertions, 4 deletions
diff --git a/generator.py b/generator.py
index 6f082e8..23b8f5f 100755
--- a/generator.py
+++ b/generator.py
@@ -175,7 +175,6 @@ skipped_types = {
'virConnectDomainEventIOErrorCallback': "No function types in python",
'virConnectDomainEventGraphicsCallback': "No function types in python",
'virEventAddHandleFunc': "No function types in python",
- 'virNWFilterPtr': "No function types in python",
}
#######################################################################
@@ -237,6 +236,11 @@ py_types = {
'virSecret *': ('O', "virSecret", "virSecretPtr", "virSecretPtr"),
'const virSecret *': ('O', "virSecret", "virSecretPtr", "virSecretPtr"),
+ 'virNWFilterPtr': ('O', "virNWFilter", "virNWFilterPtr", "virNWFilterPtr"),
+ 'const virNWFilterPtr': ('O', "virNWFilter", "virNWFilterPtr", "virNWFilterPtr"),
+ 'virNWFilter *': ('O', "virNWFilter", "virNWFilterPtr", "virNWFilterPtr"),
+ 'const virNWFilter *': ('O', "virNWFilter", "virNWFilterPtr", "virNWFilterPtr"),
+
'virStreamPtr': ('O', "virStream", "virStreamPtr", "virStreamPtr"),
'const virStreamPtr': ('O', "virStream", "virStreamPtr", "virStreamPtr"),
'virStream *': ('O', "virStream", "virStreamPtr", "virStreamPtr"),
@@ -308,6 +312,9 @@ skip_impl = (
'virSecretGetUUID',
'virSecretGetUUIDString',
'virSecretLookupByUUID',
+ 'virNWFilterGetUUID',
+ 'virNWFilterGetUUIDString',
+ 'virNWFilterLookupByUUID',
'virStreamRecv',
'virStreamSend',
'virStoragePoolGetUUID',
@@ -361,6 +368,7 @@ skip_function = (
"virNetworkRef",
"virNodeDeviceRef",
"virSecretRef",
+ "virNWFilterRef",
"virStoragePoolRef",
"virStorageVolRef",
@@ -371,6 +379,7 @@ skip_function = (
"virInterfaceGetConnect",
"virNetworkGetConnect",
"virSecretGetConnect",
+ "virNWFilterGetConnect",
"virStoragePoolGetConnect",
"virStorageVolGetConnect",
)
@@ -643,6 +652,8 @@ classes_type = {
"virNodeDevice *": ("._o", "virNodeDevice(self, _obj=%s)", "virNodeDevice"),
"virSecretPtr": ("._o", "virSecret(self, _obj=%s)", "virSecret"),
"virSecret *": ("._o", "virSecret(self, _obj=%s)", "virSecret"),
+ "virNWFilterPtr": ("._o", "virNWFilter(self, _obj=%s)", "virNWFilter"),
+ "virNWFilter *": ("._o", "virNWFilter(self, _obj=%s)", "virNWFilter"),
"virStreamPtr": ("._o", "virStream(self, _obj=%s)", "virStream"),
"virStream *": ("._o", "virStream(self, _obj=%s)", "virStream"),
"virConnectPtr": ("._o", "virConnect(_obj=%s)", "virConnect"),
@@ -657,7 +668,7 @@ converter_type = {
primary_classes = ["virDomain", "virNetwork", "virInterface",
"virStoragePool", "virStorageVol",
"virConnect", "virNodeDevice", "virSecret",
- "virStream", "virDomainSnapshot"]
+ "virNWFilter", "virStream", "virDomainSnapshot"]
classes_ancestor = {
}
@@ -669,6 +680,7 @@ classes_destructors = {
"virStorageVol": "virStorageVolFree",
"virNodeDevice" : "virNodeDeviceFree",
"virSecret": "virSecretFree",
+ "virNWFilter": "virNWFilterFree",
"virDomainSnapshot": "virDomainSnapshotFree",
# We hand-craft __del__ for this one
#"virStream": "virStreamFree",
@@ -691,6 +703,7 @@ functions_noexcept = {
'virNodeDeviceGetParent': True,
'virSecretGetUsageType': True,
'virSecretGetUsageID': True,
+ 'virNWFilterGetName': True,
}
reference_keepers = {
@@ -756,6 +769,12 @@ def nameFixup(name, classe, type, file):
elif name[0:15] == "virSecretLookup":
func = name[3:]
func = string.lower(func[0:1]) + func[1:]
+ elif name[0:17] == "virNWFilterDefine":
+ func = name[3:]
+ func = string.lower(func[0:3]) + func[3:]
+ elif name[0:17] == "virNWFilterLookup":
+ func = name[3:]
+ func = string.lower(func[0:3]) + func[3:]
elif name[0:20] == "virStoragePoolDefine":
func = name[3:]
func = string.lower(func[0:1]) + func[1:]
@@ -813,6 +832,12 @@ 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:14] == 'virNWFilterGet':
+ func = name[14:]
+ func = string.lower(func[0:1]) + func[1:]
+ elif name[0:11] == 'virNWFilter':
+ func = name[11:]
+ func = string.lower(func[0:1]) + func[1:]
elif name[0:12] == 'virStreamNew':
func = "newStream"
elif name[0:9] == 'virStream':
@@ -1099,7 +1124,8 @@ def buildWrappers():
else:
classes.write("class %s:\n" % (classname))
if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool",
- "virStorageVol", "virNodeDevice", "virSecret","virStream" ]:
+ "virStorageVol", "virNodeDevice", "virSecret","virStream",
+ "virNWFilter" ]:
classes.write(" def __init__(self, conn, _obj=None):\n")
else:
classes.write(" def __init__(self, _obj=None):\n")
@@ -1108,7 +1134,8 @@ def buildWrappers():
for ref in list:
classes.write(" self.%s = None\n" % ref[1])
if classname in [ "virDomain", "virNetwork", "virInterface",
- "virNodeDevice", "virSecret", "virStream" ]:
+ "virNodeDevice", "virSecret", "virStream",
+ "virNWFilter" ]:
classes.write(" self._conn = conn\n")
elif classname in [ "virStorageVol", "virStoragePool" ]:
classes.write(" self._conn = conn\n" + \