def self.read_one(reader)
return nil unless reader.forward
object = DiskAttachment.new
object.href = reader.get_attribute('href')
value = reader.get_attribute('active')
object.active = value if not value.nil?
value = reader.get_attribute('bootable')
object.bootable = value if not value.nil?
value = reader.get_attribute('comment')
object.comment = value if not value.nil?
value = reader.get_attribute('description')
object.description = value if not value.nil?
value = reader.get_attribute('id')
object.id = value if not value.nil?
value = reader.get_attribute('interface')
object.interface = value if not value.nil?
value = reader.get_attribute('logical_name')
object.logical_name = value if not value.nil?
value = reader.get_attribute('name')
object.name = value if not value.nil?
value = reader.get_attribute('pass_discard')
object.pass_discard = value if not value.nil?
value = reader.get_attribute('uses_scsi_reservation')
object.uses_scsi_reservation = value if not value.nil?
empty = reader.empty_element?
reader.read
return object if empty
while reader.forward do
case reader.node_name
when 'active'
object.active = Reader.read_boolean(reader)
when 'bootable'
object.bootable = Reader.read_boolean(reader)
when 'comment'
object.comment = Reader.read_string(reader)
when 'description'
object.description = Reader.read_string(reader)
when 'id'
object.id = Reader.read_string(reader)
when 'interface'
object.interface = Reader.read_string(reader)
when 'logical_name'
object.logical_name = Reader.read_string(reader)
when 'name'
object.name = Reader.read_string(reader)
when 'pass_discard'
object.pass_discard = Reader.read_boolean(reader)
when 'uses_scsi_reservation'
object.uses_scsi_reservation = Reader.read_boolean(reader)
when 'disk'
object.disk = DiskReader.read_one(reader)
when 'template'
object.template = TemplateReader.read_one(reader)
when 'vm'
object.vm = VmReader.read_one(reader)
else
reader.next_element
end
end
reader.read
return object
end