class OvirtSDK4::HostStorageReader

Public Class Methods

read_many(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 8694
def self.read_many(reader)
  # Do nothing if there aren't more tags:
  list = List.new
  return list unless reader.forward
  
  # Process the attributes:
  list.href = reader.get_attribute('href')
  
  # Discard the start tag:
  empty = reader.empty_element?
  reader.read
  return list if empty
  
  # Process the inner elements:
  while reader.forward do
    list << read_one(reader)
  end
  
  # Discard the end tag:
  reader.read
  
  return list
end
read_one(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 8582
def self.read_one(reader)
  # Do nothing if there aren't more tags:
  return nil unless reader.forward
  
  # Create the object:
  object = HostStorage.new
  
  # Process the attributes:
  object.href = reader.get_attribute('href')
  value = reader.get_attribute('address')
  object.address = 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('mount_options')
  object.mount_options = value if not value.nil?
  value = reader.get_attribute('name')
  object.name = value if not value.nil?
  value = reader.get_attribute('nfs_retrans')
  object.nfs_retrans = value if not value.nil?
  value = reader.get_attribute('nfs_timeo')
  object.nfs_timeo = value if not value.nil?
  value = reader.get_attribute('nfs_version')
  object.nfs_version = value if not value.nil?
  value = reader.get_attribute('override_luns')
  object.override_luns = value if not value.nil?
  value = reader.get_attribute('password')
  object.password = value if not value.nil?
  value = reader.get_attribute('path')
  object.path = value if not value.nil?
  value = reader.get_attribute('port')
  object.port = value if not value.nil?
  value = reader.get_attribute('portal')
  object.portal = value if not value.nil?
  value = reader.get_attribute('target')
  object.target = value if not value.nil?
  value = reader.get_attribute('type')
  object.type = value if not value.nil?
  value = reader.get_attribute('username')
  object.username = value if not value.nil?
  value = reader.get_attribute('vfs_type')
  object.vfs_type = value if not value.nil?
  
  # Discard the start tag:
  empty = reader.empty_element?
  reader.read
  return object if empty
  
  # Process the inner elements:
  while reader.forward do
    case reader.node_name
    when 'address'
      object.address = Reader.read_string(reader)
    when 'comment'
      object.comment = Reader.read_string(reader)
    when 'description'
      object.description = Reader.read_string(reader)
    when 'driver_options'
      object.driver_options = PropertyReader.read_many(reader)
    when 'driver_sensitive_options'
      object.driver_sensitive_options = PropertyReader.read_many(reader)
    when 'id'
      object.id = Reader.read_string(reader)
    when 'logical_units'
      object.logical_units = LogicalUnitReader.read_many(reader)
    when 'mount_options'
      object.mount_options = Reader.read_string(reader)
    when 'name'
      object.name = Reader.read_string(reader)
    when 'nfs_retrans'
      object.nfs_retrans = Reader.read_integer(reader)
    when 'nfs_timeo'
      object.nfs_timeo = Reader.read_integer(reader)
    when 'nfs_version'
      object.nfs_version = Reader.read_enum(NfsVersion, reader)
    when 'override_luns'
      object.override_luns = Reader.read_boolean(reader)
    when 'password'
      object.password = Reader.read_string(reader)
    when 'path'
      object.path = Reader.read_string(reader)
    when 'port'
      object.port = Reader.read_integer(reader)
    when 'portal'
      object.portal = Reader.read_string(reader)
    when 'target'
      object.target = Reader.read_string(reader)
    when 'type'
      object.type = Reader.read_enum(StorageType, reader)
    when 'username'
      object.username = Reader.read_string(reader)
    when 'vfs_type'
      object.vfs_type = Reader.read_string(reader)
    when 'volume_group'
      object.volume_group = VolumeGroupReader.read_one(reader)
    when 'host'
      object.host = HostReader.read_one(reader)
    else
      reader.next_element
    end
  end
  
  # Discard the end tag:
  reader.read
  
  return object
end