class OvirtSDK4::TemplateReader

Public Class Methods

read_many(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 15901
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 15729
def self.read_one(reader)
  # Do nothing if there aren't more tags:
  return nil unless reader.forward
  
  # Create the object:
  object = Template.new
  
  # Process the attributes:
  object.href = reader.get_attribute('href')
  value = reader.get_attribute('comment')
  object.comment = value if not value.nil?
  value = reader.get_attribute('cpu_shares')
  object.cpu_shares = value if not value.nil?
  value = reader.get_attribute('creation_time')
  object.creation_time = value if not value.nil?
  value = reader.get_attribute('custom_cpu_model')
  object.custom_cpu_model = value if not value.nil?
  value = reader.get_attribute('custom_emulated_machine')
  object.custom_emulated_machine = value if not value.nil?
  value = reader.get_attribute('delete_protected')
  object.delete_protected = 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('memory')
  object.memory = value if not value.nil?
  value = reader.get_attribute('migration_downtime')
  object.migration_downtime = value if not value.nil?
  value = reader.get_attribute('name')
  object.name = value if not value.nil?
  value = reader.get_attribute('origin')
  object.origin = value if not value.nil?
  value = reader.get_attribute('soundcard_enabled')
  object.soundcard_enabled = value if not value.nil?
  value = reader.get_attribute('start_paused')
  object.start_paused = value if not value.nil?
  value = reader.get_attribute('stateless')
  object.stateless = value if not value.nil?
  value = reader.get_attribute('status')
  object.status = value if not value.nil?
  value = reader.get_attribute('tunnel_migration')
  object.tunnel_migration = value if not value.nil?
  value = reader.get_attribute('type')
  object.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 'bios'
      object.bios = BiosReader.read_one(reader)
    when 'comment'
      object.comment = Reader.read_string(reader)
    when 'console'
      object.console = ConsoleReader.read_one(reader)
    when 'cpu'
      object.cpu = CpuReader.read_one(reader)
    when 'cpu_shares'
      object.cpu_shares = Reader.read_integer(reader)
    when 'creation_time'
      object.creation_time = Reader.read_date(reader)
    when 'custom_compatibility_version'
      object.custom_compatibility_version = VersionReader.read_one(reader)
    when 'custom_cpu_model'
      object.custom_cpu_model = Reader.read_string(reader)
    when 'custom_emulated_machine'
      object.custom_emulated_machine = Reader.read_string(reader)
    when 'custom_properties'
      object.custom_properties = CustomPropertyReader.read_many(reader)
    when 'delete_protected'
      object.delete_protected = Reader.read_boolean(reader)
    when 'description'
      object.description = Reader.read_string(reader)
    when 'display'
      object.display = DisplayReader.read_one(reader)
    when 'domain'
      object.domain = DomainReader.read_one(reader)
    when 'high_availability'
      object.high_availability = HighAvailabilityReader.read_one(reader)
    when 'id'
      object.id = Reader.read_string(reader)
    when 'initialization'
      object.initialization = InitializationReader.read_one(reader)
    when 'io'
      object.io = IoReader.read_one(reader)
    when 'large_icon'
      object.large_icon = IconReader.read_one(reader)
    when 'memory'
      object.memory = Reader.read_integer(reader)
    when 'memory_policy'
      object.memory_policy = MemoryPolicyReader.read_one(reader)
    when 'migration'
      object.migration = MigrationOptionsReader.read_one(reader)
    when 'migration_downtime'
      object.migration_downtime = Reader.read_integer(reader)
    when 'name'
      object.name = Reader.read_string(reader)
    when 'origin'
      object.origin = Reader.read_string(reader)
    when 'os'
      object.os = OperatingSystemReader.read_one(reader)
    when 'rng_device'
      object.rng_device = RngDeviceReader.read_one(reader)
    when 'serial_number'
      object.serial_number = SerialNumberReader.read_one(reader)
    when 'small_icon'
      object.small_icon = IconReader.read_one(reader)
    when 'soundcard_enabled'
      object.soundcard_enabled = Reader.read_boolean(reader)
    when 'sso'
      object.sso = SsoReader.read_one(reader)
    when 'start_paused'
      object.start_paused = Reader.read_boolean(reader)
    when 'stateless'
      object.stateless = Reader.read_boolean(reader)
    when 'status'
      object.status = Reader.read_string(reader)
    when 'time_zone'
      object.time_zone = TimeZoneReader.read_one(reader)
    when 'tunnel_migration'
      object.tunnel_migration = Reader.read_boolean(reader)
    when 'type'
      object.type = Reader.read_string(reader)
    when 'usb'
      object.usb = UsbReader.read_one(reader)
    when 'version'
      object.version = TemplateVersionReader.read_one(reader)
    when 'virtio_scsi'
      object.virtio_scsi = VirtioScsiReader.read_one(reader)
    when 'vm'
      object.vm = VmReader.read_one(reader)
    when 'cdroms'
      object.cdroms = CdromReader.read_many(reader)
    when 'cluster'
      object.cluster = ClusterReader.read_one(reader)
    when 'cpu_profile'
      object.cpu_profile = CpuProfileReader.read_one(reader)
    when 'disk_attachments'
      object.disk_attachments = DiskAttachmentReader.read_many(reader)
    when 'graphics_consoles'
      object.graphics_consoles = GraphicsConsoleReader.read_many(reader)
    when 'nics'
      object.nics = NicReader.read_many(reader)
    when 'permissions'
      object.permissions = PermissionReader.read_many(reader)
    when 'quota'
      object.quota = QuotaReader.read_one(reader)
    when 'storage_domain'
      object.storage_domain = StorageDomainReader.read_one(reader)
    when 'tags'
      object.tags = TagReader.read_many(reader)
    when 'watchdogs'
      object.watchdogs = WatchdogReader.read_many(reader)
    when 'link'
      read_link(reader, object)
    else
      reader.next_element
    end
  end
  
  # Discard the end tag:
  reader.read
  
  return object
end