class OvirtSDK4::EventReader

Public Class Methods

read_many(reader) click to toggle source
# File lib/ovirtsdk4/readers.rb, line 4862
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 4762
def self.read_one(reader)
  # Do nothing if there aren't more tags:
  return nil unless reader.forward
  
  # Create the object:
  object = Event.new
  
  # Process the attributes:
  object.href = reader.get_attribute('href')
  value = reader.get_attribute('code')
  object.code = value if not value.nil?
  value = reader.get_attribute('comment')
  object.comment = value if not value.nil?
  value = reader.get_attribute('correlation_id')
  object.correlation_id = value if not value.nil?
  value = reader.get_attribute('custom_data')
  object.custom_data = value if not value.nil?
  value = reader.get_attribute('custom_id')
  object.custom_id = value if not value.nil?
  value = reader.get_attribute('description')
  object.description = value if not value.nil?
  value = reader.get_attribute('flood_rate')
  object.flood_rate = value if not value.nil?
  value = reader.get_attribute('id')
  object.id = value if not value.nil?
  value = reader.get_attribute('index')
  object.index = value if not value.nil?
  value = reader.get_attribute('log_on_host')
  object.log_on_host = 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('severity')
  object.severity = value if not value.nil?
  value = reader.get_attribute('time')
  object.time = 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 'code'
      object.code = Reader.read_integer(reader)
    when 'comment'
      object.comment = Reader.read_string(reader)
    when 'correlation_id'
      object.correlation_id = Reader.read_string(reader)
    when 'custom_data'
      object.custom_data = Reader.read_string(reader)
    when 'custom_id'
      object.custom_id = Reader.read_integer(reader)
    when 'description'
      object.description = Reader.read_string(reader)
    when 'flood_rate'
      object.flood_rate = Reader.read_integer(reader)
    when 'id'
      object.id = Reader.read_string(reader)
    when 'index'
      object.index = Reader.read_integer(reader)
    when 'log_on_host'
      object.log_on_host = Reader.read_boolean(reader)
    when 'name'
      object.name = Reader.read_string(reader)
    when 'origin'
      object.origin = Reader.read_string(reader)
    when 'severity'
      object.severity = Reader.read_enum(LogSeverity, reader)
    when 'time'
      object.time = Reader.read_date(reader)
    when 'cluster'
      object.cluster = ClusterReader.read_one(reader)
    when 'data_center'
      object.data_center = DataCenterReader.read_one(reader)
    when 'host'
      object.host = HostReader.read_one(reader)
    when 'storage_domain'
      object.storage_domain = StorageDomainReader.read_one(reader)
    when 'template'
      object.template = TemplateReader.read_one(reader)
    when 'user'
      object.user = UserReader.read_one(reader)
    when 'vm'
      object.vm = VmReader.read_one(reader)
    else
      reader.next_element
    end
  end
  
  # Discard the end tag:
  reader.read
  
  return object
end