Class: Y2Network::Wicked::InterfacesReader

Inherits:
Object
  • Object
show all
Defined in:
src/lib/y2network/wicked/interfaces_reader.rb

Overview

This class reads physical interfaces and drivers

Instance Method Summary collapse

Instance Method Details

#driversArray<Y2Network::Driver>

Finds the available drivers

The available drivers are extracted from the physical interface drivers.

Returns:


78
79
80
81
82
83
84
85
86
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 78

def drivers
  return @drivers if @drivers

  physical_interfaces = interfaces.physical
  drivers_names = physical_interfaces.flat_map(&:drivers).map(&:name)
  drivers_names += interfaces.physical.map(&:custom_driver).compact
  drivers_names.uniq!
  @drivers = drivers_names.map { |n| Y2Network::Driver.from_system(n) }
end

#interfacesY2Network::InterfacesCollection

Returns the collection of physical interfaces


57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 57

def interfaces
  return @interfaces if @interfaces

  Hwinfo.reset
  physical_interfaces = Hwinfo.netcards.each_with_object([]) do |hwinfo, interfaces|
    physical_interface = build_physical_interface(hwinfo)
    next if physical_interface.type == InterfaceType::UNKNOWN
    next if physical_interface.name.to_s.empty?

    interfaces << physical_interface
  end

  @interfaces = Y2Network::InterfacesCollection.new(physical_interfaces)
end

#s390_devicesArray<Y2Network::ConnectionConfig::Base>

Returns the collection of s390 group devices

Returns:


47
48
49
50
51
52
# File 'src/lib/y2network/wicked/interfaces_reader.rb', line 47

def s390_devices
  return @s390_devices if @s390_devices

  devices = Yast::Arch.s390 ? S390GroupDevice.all : []
  @s390_devices = Y2Network::S390GroupDevicesCollection.new(devices)
end