Class: Gisele::VM::Registry
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Component
#connected!, #connected?, #registered, #registered!, #registered?, #unregistered, #vm
Constructor Details
#initialize(vm) ⇒ Registry
Returns a new instance of Registry.
7
8
9
10
11
12
|
# File 'lib/gisele/vm/registry.rb', line 7
def initialize(vm)
super()
@vm = vm
@components = []
@cconnected = []
end
|
Instance Attribute Details
#components ⇒ Object
Returns the value of attribute components.
5
6
7
|
# File 'lib/gisele/vm/registry.rb', line 5
def components
@components
end
|
Instance Method Details
#connect ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/gisele/vm/registry.rb', line 32
def connect
super
@components.each do |c|
c.connect
@cconnected << c
end
rescue Exception => ex
fatal error_message(ex, "Unable to connect VM:")
disconnect
raise
end
|
#disconnect ⇒ Object
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/gisele/vm/registry.rb', line 44
def disconnect
super
@cconnected.each do |c|
begin
c.disconnect
rescue Exception => ex
warn("Error when disconnecting #{c}: #{ex.message}") rescue nil
end
end
end
|
#register(component, prior = false) ⇒ Object
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/gisele/vm/registry.rb', line 14
def register(component, prior = false)
raise NotImplementedError,
"Hot registration is not implemented." if connected?
if prior
@components.unshift component
else
@components.push component
end
component.registered(vm)
end
|
#unregister(component) ⇒ Object
25
26
27
28
29
30
|
# File 'lib/gisele/vm/registry.rb', line 25
def unregister(component)
raise NotImplementedError,
"Hot unregistration is not implemented." if connected?
@components.delete(component)
component.unregistered
end
|