Class: Y2Network::Dialogs::S390DeviceActivation

Inherits:
CWM::Dialog
  • Object
show all
Defined in:
src/lib/y2network/dialogs/s390_device_activation.rb

Overview

Base class dialog for activating S390 devices

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(activator) ⇒ S390DeviceActivation

Constructor

Parameters:



65
66
67
68
69
70
71
72
73
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 65

def initialize(activator)
  super()
  textdomain "network"

  @activator = activator
  @activator.propose!
  @builder = activator.builder
  @builder.newly_added = false
end

Instance Attribute Details

#activatorObject (readonly)

Returns the value of attribute activator.



60
61
62
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 60

def activator
  @activator
end

#builderObject (readonly)

Returns the value of attribute builder.



59
60
61
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 59

def builder
  @builder
end

Class Method Details

.for(builder) ⇒ S390DeviceActivation?

Parameters:

Returns:



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 35

def self.for(builder)
  return nil unless builder.type

  case builder.type.short_name
  # Both interfaces uses the qeth driver and uses the same configuration
  # for activating the group device.
  when "qeth", "hsi"
    require "y2network/dialogs/s390_qeth_activation"
    require "y2network/s390_device_activators/qeth"
    activator = S390DeviceActivators::Qeth.new(builder)
    Y2Network::Dialogs::S390QethActivation.new(activator)
  when "ctc"
    require "y2network/dialogs/s390_ctc_activation"
    require "y2network/s390_device_activators/ctc"
    activator = S390DeviceActivators::Ctc.new(builder)
    Y2Network::Dialogs::S390CtcActivation.new(activator)
  when "lcs"
    require "y2network/dialogs/s390_lcs_activation"
    require "y2network/s390_device_activators/lcs"
    activator = S390DeviceActivators::Lcs.new(builder)
    Y2Network::Dialogs::S390LcsActivation.new(activator)
  end
end

Instance Method Details

#abort_handlerObject



104
105
106
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 104

def abort_handler
  Yast::Popup.ReallyAbort(true)
end

#contentsObject



79
80
81
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 79

def contents
  Empty()
end

#runObject



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 83

def run
  ret = super
  if ret == :next
    _stdout, stderr, status = activator.configure
    configured = status.zero?

    if configured
      interface_name = activator.configured_interface
      builder.name = interface_name
      refresh_devices(builder)
    end

    if !configured || builder.name.empty?
      show_activation_error(stderr)
      return run
    end
  end

  ret
end

#titleObject



75
76
77
# File 'src/lib/y2network/dialogs/s390_device_activation.rb', line 75

def title
  _("S/390 Network Card Configuration")
end