mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
esx: Change generated method parameter autobinding
Instead of specifying the type of the managed object directly specify the ServiceContent member name. This way the mapping dictionary can be removed.
This commit is contained in:
parent
9cd16c0aa9
commit
1f6fc82bf3
@ -40,9 +40,9 @@
|
|||||||
#
|
#
|
||||||
# The _this parameter can have a type attached to it:
|
# The _this parameter can have a type attached to it:
|
||||||
#
|
#
|
||||||
# _this:<type>
|
# _this:<member>
|
||||||
#
|
#
|
||||||
# The <type> refers to one of the ServiceContent members. This make the
|
# The <member> refers to one of the ServiceContent members. This make the
|
||||||
# generator auto-bind _this to the corresponding ServiceContent member.
|
# generator auto-bind _this to the corresponding ServiceContent member.
|
||||||
#
|
#
|
||||||
|
|
||||||
@ -782,7 +782,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method CopyVirtualDisk_Task returns ManagedObjectReference r
|
method CopyVirtualDisk_Task returns ManagedObjectReference r
|
||||||
ManagedObjectReference _this:VirtualDiskManager r
|
ManagedObjectReference _this:virtualDiskManager r
|
||||||
String sourceName r
|
String sourceName r
|
||||||
ManagedObjectReference sourceDatacenter o
|
ManagedObjectReference sourceDatacenter o
|
||||||
String destName r
|
String destName r
|
||||||
@ -793,7 +793,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method CreateFilter returns ManagedObjectReference r
|
method CreateFilter returns ManagedObjectReference r
|
||||||
ManagedObjectReference _this:PropertyCollector r
|
ManagedObjectReference _this:propertyCollector r
|
||||||
PropertyFilterSpec spec r
|
PropertyFilterSpec spec r
|
||||||
Boolean partialUpdates r
|
Boolean partialUpdates r
|
||||||
end
|
end
|
||||||
@ -809,7 +809,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method CreateVirtualDisk_Task returns ManagedObjectReference r
|
method CreateVirtualDisk_Task returns ManagedObjectReference r
|
||||||
ManagedObjectReference _this:VirtualDiskManager r
|
ManagedObjectReference _this:virtualDiskManager r
|
||||||
String name r
|
String name r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
VirtualDiskSpec spec r
|
VirtualDiskSpec spec r
|
||||||
@ -817,7 +817,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method DeleteVirtualDisk_Task returns ManagedObjectReference r
|
method DeleteVirtualDisk_Task returns ManagedObjectReference r
|
||||||
ManagedObjectReference _this:VirtualDiskManager r
|
ManagedObjectReference _this:virtualDiskManager r
|
||||||
String name r
|
String name r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
end
|
end
|
||||||
@ -829,7 +829,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method FindByIp returns ManagedObjectReference o
|
method FindByIp returns ManagedObjectReference o
|
||||||
ManagedObjectReference _this:SearchIndex r
|
ManagedObjectReference _this:searchIndex r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
String ip r
|
String ip r
|
||||||
Boolean vmSearch r
|
Boolean vmSearch r
|
||||||
@ -837,7 +837,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method FindByUuid returns ManagedObjectReference o
|
method FindByUuid returns ManagedObjectReference o
|
||||||
ManagedObjectReference _this:SearchIndex r
|
ManagedObjectReference _this:searchIndex r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
String uuid r
|
String uuid r
|
||||||
Boolean vmSearch r
|
Boolean vmSearch r
|
||||||
@ -845,7 +845,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method Login returns UserSession r
|
method Login returns UserSession r
|
||||||
ManagedObjectReference _this:SessionManager r
|
ManagedObjectReference _this:sessionManager r
|
||||||
String userName r
|
String userName r
|
||||||
String password r
|
String password r
|
||||||
String locale o
|
String locale o
|
||||||
@ -853,12 +853,12 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method Logout
|
method Logout
|
||||||
ManagedObjectReference _this:SessionManager r
|
ManagedObjectReference _this:sessionManager r
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
method MakeDirectory
|
method MakeDirectory
|
||||||
ManagedObjectReference _this:FileManager r
|
ManagedObjectReference _this:fileManager r
|
||||||
String name r
|
String name r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
Boolean createParentDirectories o
|
Boolean createParentDirectories o
|
||||||
@ -886,7 +886,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method QueryAvailablePerfMetric returns PerfMetricId ol
|
method QueryAvailablePerfMetric returns PerfMetricId ol
|
||||||
ManagedObjectReference _this:PerformanceManager r
|
ManagedObjectReference _this:perfManager r
|
||||||
ManagedObjectReference entity r
|
ManagedObjectReference entity r
|
||||||
DateTime beginTime o
|
DateTime beginTime o
|
||||||
DateTime endTime o
|
DateTime endTime o
|
||||||
@ -895,19 +895,19 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method QueryPerf returns PerfEntityMetricBase ol
|
method QueryPerf returns PerfEntityMetricBase ol
|
||||||
ManagedObjectReference _this:PerformanceManager r
|
ManagedObjectReference _this:perfManager r
|
||||||
PerfQuerySpec querySpec rl
|
PerfQuerySpec querySpec rl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
method QueryPerfCounter returns PerfCounterInfo ol
|
method QueryPerfCounter returns PerfCounterInfo ol
|
||||||
ManagedObjectReference _this:PerformanceManager r
|
ManagedObjectReference _this:perfManager r
|
||||||
Int counterId rl
|
Int counterId rl
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
method QueryVirtualDiskUuid returns String r
|
method QueryVirtualDiskUuid returns String r
|
||||||
ManagedObjectReference _this:VirtualDiskManager r
|
ManagedObjectReference _this:virtualDiskManager r
|
||||||
String name r
|
String name r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
end
|
end
|
||||||
@ -952,7 +952,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method RetrieveProperties returns ObjectContent ol
|
method RetrieveProperties returns ObjectContent ol
|
||||||
ManagedObjectReference _this:PropertyCollector r
|
ManagedObjectReference _this:propertyCollector r
|
||||||
PropertyFilterSpec specSet rl
|
PropertyFilterSpec specSet rl
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -978,7 +978,7 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method SessionIsActive returns Boolean r
|
method SessionIsActive returns Boolean r
|
||||||
ManagedObjectReference _this:SessionManager r
|
ManagedObjectReference _this:sessionManager r
|
||||||
String sessionID r
|
String sessionID r
|
||||||
String userName r
|
String userName r
|
||||||
end
|
end
|
||||||
@ -1000,13 +1000,13 @@ end
|
|||||||
|
|
||||||
|
|
||||||
method WaitForUpdates returns UpdateSet r
|
method WaitForUpdates returns UpdateSet r
|
||||||
ManagedObjectReference _this:PropertyCollector r
|
ManagedObjectReference _this:propertyCollector r
|
||||||
String version o
|
String version o
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
method ZeroFillVirtualDisk_Task returns ManagedObjectReference r
|
method ZeroFillVirtualDisk_Task returns ManagedObjectReference r
|
||||||
ManagedObjectReference _this:VirtualDiskManager r
|
ManagedObjectReference _this:virtualDiskManager r
|
||||||
String name r
|
String name r
|
||||||
ManagedObjectReference datacenter o
|
ManagedObjectReference datacenter o
|
||||||
end
|
end
|
||||||
|
@ -38,14 +38,7 @@ valid_occurrences = [OCCURRENCE__REQUIRED_ITEM,
|
|||||||
OCCURRENCE__OPTIONAL_LIST,
|
OCCURRENCE__OPTIONAL_LIST,
|
||||||
OCCURRENCE__IGNORED]
|
OCCURRENCE__IGNORED]
|
||||||
|
|
||||||
autobind_map = { "FileManager" : "fileManager",
|
autobind_names = set()
|
||||||
"PerformanceManager" : "perfManager",
|
|
||||||
"PropertyCollector" : "propertyCollector",
|
|
||||||
"SearchIndex" : "searchIndex",
|
|
||||||
"SessionManager" : "sessionManager",
|
|
||||||
"VirtualDiskManager" : "virtualDiskManager" }
|
|
||||||
|
|
||||||
autobind_map_usage = set()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -94,16 +87,16 @@ class Parameter(Member):
|
|||||||
Member.__init__(self, type, occurrence)
|
Member.__init__(self, type, occurrence)
|
||||||
|
|
||||||
if ':' in name and name.startswith("_this"):
|
if ':' in name and name.startswith("_this"):
|
||||||
self.name, self.autobind_type = name.split(":")
|
self.name, self.autobind_name = name.split(":")
|
||||||
else:
|
else:
|
||||||
self.name = name
|
self.name = name
|
||||||
self.autobind_type = None
|
self.autobind_name = None
|
||||||
|
|
||||||
|
|
||||||
def generate_parameter(self, is_last = False, is_header = True, offset = 0):
|
def generate_parameter(self, is_last = False, is_header = True, offset = 0):
|
||||||
if self.occurrence == OCCURRENCE__IGNORED:
|
if self.occurrence == OCCURRENCE__IGNORED:
|
||||||
raise ValueError("invalid function parameter occurrence value '%s'" % self.occurrence)
|
raise ValueError("invalid function parameter occurrence value '%s'" % self.occurrence)
|
||||||
elif self.autobind_type is not None:
|
elif self.autobind_name is not None:
|
||||||
return ""
|
return ""
|
||||||
else:
|
else:
|
||||||
string = " "
|
string = " "
|
||||||
@ -193,7 +186,7 @@ class Method:
|
|||||||
self.returns = returns
|
self.returns = returns
|
||||||
|
|
||||||
for parameter in parameters:
|
for parameter in parameters:
|
||||||
if parameter.autobind_type is None:
|
if parameter.autobind_name is None:
|
||||||
self.parameters.append(parameter)
|
self.parameters.append(parameter)
|
||||||
else:
|
else:
|
||||||
self.autobind_parameter = parameter
|
self.autobind_parameter = parameter
|
||||||
@ -227,8 +220,8 @@ class Method:
|
|||||||
source += "ESX_VI__METHOD(%s," % self.name
|
source += "ESX_VI__METHOD(%s," % self.name
|
||||||
|
|
||||||
if self.autobind_parameter is not None:
|
if self.autobind_parameter is not None:
|
||||||
autobind_map_usage.add(self.autobind_parameter.autobind_type)
|
autobind_names.add(self.autobind_parameter.autobind_name)
|
||||||
source += " %s,\n" % autobind_map[self.autobind_parameter.autobind_type]
|
source += " %s,\n" % self.autobind_parameter.autobind_name
|
||||||
else:
|
else:
|
||||||
source += " /* explicit _this */,\n"
|
source += " /* explicit _this */,\n"
|
||||||
|
|
||||||
@ -1785,11 +1778,10 @@ for name in names:
|
|||||||
methods_header.write(methods_by_name[name].generate_header())
|
methods_header.write(methods_by_name[name].generate_header())
|
||||||
methods_source.write(methods_by_name[name].generate_source())
|
methods_source.write(methods_by_name[name].generate_source())
|
||||||
|
|
||||||
sorted_usage = list(autobind_map_usage)
|
names = list(autobind_names)
|
||||||
sorted_usage.sort()
|
names.sort()
|
||||||
|
|
||||||
for usage in sorted_usage:
|
for name in names:
|
||||||
name = autobind_map[usage]
|
|
||||||
string = aligned("#define ESX_VI__METHOD__PARAMETER__THIS__%s " % name, "\\\n", 78)
|
string = aligned("#define ESX_VI__METHOD__PARAMETER__THIS__%s " % name, "\\\n", 78)
|
||||||
string += " ESX_VI__METHOD__PARAMETER__THIS_FROM_SERVICE(ManagedObjectReference, \\\n"
|
string += " ESX_VI__METHOD__PARAMETER__THIS_FROM_SERVICE(ManagedObjectReference, \\\n"
|
||||||
string += aligned("", "%s)\n\n\n\n" % name, 49)
|
string += aligned("", "%s)\n\n\n\n" % name, 49)
|
||||||
|
Loading…
Reference in New Issue
Block a user