def self.read_one(reader)
return nil unless reader.forward
object = StorageDomain.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('available')
object.available = value if not value.nil?
value = reader.get_attribute('backup')
object.backup = value if not value.nil?
value = reader.get_attribute('block_size')
object.block_size = value if not value.nil?
value = reader.get_attribute('comment')
object.comment = value if not value.nil?
value = reader.get_attribute('committed')
object.committed = value if not value.nil?
value = reader.get_attribute('critical_space_action_blocker')
object.critical_space_action_blocker = value if not value.nil?
value = reader.get_attribute('description')
object.description = value if not value.nil?
value = reader.get_attribute('discard_after_delete')
object.discard_after_delete = value if not value.nil?
value = reader.get_attribute('external_status')
object.external_status = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('import')
object.import = value if not value.nil?
value = reader.get_attribute('master')
object.master = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('status')
object.status = value if not value.nil?
value = reader.get_attribute('storage_format')
object.storage_format = value if not value.nil?
value = reader.get_attribute('supports_discard')
object.supports_discard = value if not value.nil?
value = reader.get_attribute('supports_discard_zeroes_data')
object.supports_discard_zeroes_data = value if not value.nil?
value = reader.get_attribute('type')
object.type = value if not value.nil?
value = reader.get_attribute('used')
object.used = value if not value.nil?
value = reader.get_attribute('warning_low_space_indicator')
object.warning_low_space_indicator = value if not value.nil?
value = reader.get_attribute('wipe_after_delete')
object.wipe_after_delete = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'available'
object.available = Reader.read_integer(reader)
when 'backup'
object.backup = Reader.read_boolean(reader)
when 'block_size'
object.block_size = Reader.read_integer(reader)
when 'comment'
object.comment = Reader.read_string(reader)
when 'committed'
object.committed = Reader.read_integer(reader)
when 'critical_space_action_blocker'
object.critical_space_action_blocker = Reader.read_integer(reader)
when 'description'
object.description = Reader.read_string(reader)
when 'discard_after_delete'
object.discard_after_delete = Reader.read_boolean(reader)
when 'external_status'
object.external_status = Reader.read_enum(ExternalStatus, reader)
when 'id'
object.id = Reader.read_string(reader)
when 'import'
object.import = Reader.read_boolean(reader)
when 'master'
object.master = Reader.read_boolean(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'status'
object.status = Reader.read_enum(StorageDomainStatus, reader)
when 'storage'
object.storage = HostStorageReader.read_one(reader)
when 'storage_format'
object.storage_format = Reader.read_enum(StorageFormat, reader)
when 'supports_discard'
object.supports_discard = Reader.read_boolean(reader)
when 'supports_discard_zeroes_data'
object.supports_discard_zeroes_data = Reader.read_boolean(reader)
when 'type'
object.type = Reader.read_enum(StorageDomainType, reader)
when 'used'
object.used = Reader.read_integer(reader)
when 'warning_low_space_indicator'
object.warning_low_space_indicator = Reader.read_integer(reader)
when 'wipe_after_delete'
object.wipe_after_delete = Reader.read_boolean(reader)
when 'data_center'
object.data_center = DataCenterReader.read_one(reader)
when 'data_centers'
object.data_centers = DataCenterReader.read_many(reader)
when 'disk_profiles'
object.disk_profiles = DiskProfileReader.read_many(reader)
when 'disk_snapshots'
object.disk_snapshots = DiskSnapshotReader.read_many(reader)
when 'disks'
object.disks = DiskReader.read_many(reader)
when 'files'
object.files = FileReader.read_many(reader)
when 'host'
object.host = HostReader.read_one(reader)
when 'images'
object.images = ImageReader.read_many(reader)
when 'permissions'
object.permissions = PermissionReader.read_many(reader)
when 'storage_connections'
object.storage_connections = StorageConnectionReader.read_many(reader)
when 'templates'
object.templates = TemplateReader.read_many(reader)
when 'vms'
object.vms = VmReader.read_many(reader)
when 'link'
read_link(reader, object)
else
reader.next_element
end
end
reader.read
return object
end