#
# 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.
#
method CopyVirtualDisk_Task returns ManagedObjectReference r
- ManagedObjectReference _this:VirtualDiskManager r
+ ManagedObjectReference _this:virtualDiskManager r
String sourceName r
ManagedObjectReference sourceDatacenter o
String destName r
method CreateFilter returns ManagedObjectReference r
- ManagedObjectReference _this:PropertyCollector r
+ ManagedObjectReference _this:propertyCollector r
PropertyFilterSpec spec r
Boolean partialUpdates r
end
method CreateVirtualDisk_Task returns ManagedObjectReference r
- ManagedObjectReference _this:VirtualDiskManager r
+ ManagedObjectReference _this:virtualDiskManager r
String name r
ManagedObjectReference datacenter o
VirtualDiskSpec spec r
method DeleteVirtualDisk_Task returns ManagedObjectReference r
- ManagedObjectReference _this:VirtualDiskManager r
+ ManagedObjectReference _this:virtualDiskManager r
String name r
ManagedObjectReference datacenter o
end
method FindByIp returns ManagedObjectReference o
- ManagedObjectReference _this:SearchIndex r
+ ManagedObjectReference _this:searchIndex r
ManagedObjectReference datacenter o
String ip r
Boolean vmSearch r
method FindByUuid returns ManagedObjectReference o
- ManagedObjectReference _this:SearchIndex r
+ ManagedObjectReference _this:searchIndex r
ManagedObjectReference datacenter o
String uuid r
Boolean vmSearch r
method Login returns UserSession r
- ManagedObjectReference _this:SessionManager r
+ ManagedObjectReference _this:sessionManager r
String userName r
String password r
String locale o
method Logout
- ManagedObjectReference _this:SessionManager r
+ ManagedObjectReference _this:sessionManager r
end
method MakeDirectory
- ManagedObjectReference _this:FileManager r
+ ManagedObjectReference _this:fileManager r
String name r
ManagedObjectReference datacenter o
Boolean createParentDirectories o
method QueryAvailablePerfMetric returns PerfMetricId ol
- ManagedObjectReference _this:PerformanceManager r
+ ManagedObjectReference _this:perfManager r
ManagedObjectReference entity r
DateTime beginTime o
DateTime endTime o
method QueryPerf returns PerfEntityMetricBase ol
- ManagedObjectReference _this:PerformanceManager r
+ ManagedObjectReference _this:perfManager r
PerfQuerySpec querySpec rl
end
method QueryPerfCounter returns PerfCounterInfo ol
- ManagedObjectReference _this:PerformanceManager r
+ ManagedObjectReference _this:perfManager r
Int counterId rl
end
method QueryVirtualDiskUuid returns String r
- ManagedObjectReference _this:VirtualDiskManager r
+ ManagedObjectReference _this:virtualDiskManager r
String name r
ManagedObjectReference datacenter o
end
method RetrieveProperties returns ObjectContent ol
- ManagedObjectReference _this:PropertyCollector r
+ ManagedObjectReference _this:propertyCollector r
PropertyFilterSpec specSet rl
end
method SessionIsActive returns Boolean r
- ManagedObjectReference _this:SessionManager r
+ ManagedObjectReference _this:sessionManager r
String sessionID r
String userName r
end
method WaitForUpdates returns UpdateSet r
- ManagedObjectReference _this:PropertyCollector r
+ ManagedObjectReference _this:propertyCollector r
String version o
end
method ZeroFillVirtualDisk_Task returns ManagedObjectReference r
- ManagedObjectReference _this:VirtualDiskManager r
+ ManagedObjectReference _this:virtualDiskManager r
String name r
ManagedObjectReference datacenter o
end
OCCURRENCE__OPTIONAL_LIST,
OCCURRENCE__IGNORED]
-autobind_map = { "FileManager" : "fileManager",
- "PerformanceManager" : "perfManager",
- "PropertyCollector" : "propertyCollector",
- "SearchIndex" : "searchIndex",
- "SessionManager" : "sessionManager",
- "VirtualDiskManager" : "virtualDiskManager" }
-
-autobind_map_usage = set()
+autobind_names = set()
Member.__init__(self, type, occurrence)
if ':' in name and name.startswith("_this"):
- self.name, self.autobind_type = name.split(":")
+ self.name, self.autobind_name = name.split(":")
else:
self.name = name
- self.autobind_type = None
+ self.autobind_name = None
def generate_parameter(self, is_last = False, is_header = True, offset = 0):
if self.occurrence == OCCURRENCE__IGNORED:
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 ""
else:
string = " "
self.returns = returns
for parameter in parameters:
- if parameter.autobind_type is None:
+ if parameter.autobind_name is None:
self.parameters.append(parameter)
else:
self.autobind_parameter = parameter
source += "ESX_VI__METHOD(%s," % self.name
if self.autobind_parameter is not None:
- autobind_map_usage.add(self.autobind_parameter.autobind_type)
- source += " %s,\n" % autobind_map[self.autobind_parameter.autobind_type]
+ autobind_names.add(self.autobind_parameter.autobind_name)
+ source += " %s,\n" % self.autobind_parameter.autobind_name
else:
source += " /* explicit _this */,\n"
methods_header.write(methods_by_name[name].generate_header())
methods_source.write(methods_by_name[name].generate_source())
-sorted_usage = list(autobind_map_usage)
-sorted_usage.sort()
+names = list(autobind_names)
+names.sort()
-for usage in sorted_usage:
- name = autobind_map[usage]
+for name in names:
string = aligned("#define ESX_VI__METHOD__PARAMETER__THIS__%s " % name, "\\\n", 78)
string += " ESX_VI__METHOD__PARAMETER__THIS_FROM_SERVICE(ManagedObjectReference, \\\n"
string += aligned("", "%s)\n\n\n\n" % name, 49)