Module: Flic::Client::Features::ScanWizard

Included in:
Flic::Client
Defined in:
lib/flic/client/features/scan_wizard.rb

Instance Method Summary collapse

Instance Method Details

#add_scan_wizard(scan_wizard) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/flic/client/features/scan_wizard.rb', line 20

def add_scan_wizard(scan_wizard)
  scan_wizard_id = _add_scan_wizard(scan_wizard)

  if scan_wizard_id
    scan_wizard.added self
    send_command Protocol::Commands::CreateScanWizard.new(scan_wizard_id: scan_wizard_id)
  end
end

#initializeObject



9
10
11
12
13
14
# File 'lib/flic/client/features/scan_wizard.rb', line 9

def initialize(*)
  @scan_wizard_id_scan_wizard_semaphore = Mutex.new
  @scan_wizard_id_scan_wizard = {}

  super
end

#remove_scan_wizard(scan_wizard) ⇒ Object



29
30
31
32
33
# File 'lib/flic/client/features/scan_wizard.rb', line 29

def remove_scan_wizard(scan_wizard)
  scan_wizard_id = find_scan_wizard_id_for_scan_wizard(scan_wizard)

  send_command Protocol::Commands::CancelScanWizard.new(scan_wizard_id: scan_wizard_id) if scan_wizard_id
end

#scan_wizardsObject



16
17
18
# File 'lib/flic/client/features/scan_wizard.rb', line 16

def scan_wizards
  @scan_wizard_id_scan_wizard_semaphore.synchronize { @scan_wizard_id_scan_wizard.values }
end

#shutdownObject



35
36
37
38
39
40
41
42
# File 'lib/flic/client/features/scan_wizard.rb', line 35

def shutdown(*)
  scan_wizards.each do |scan_wizard|
    _remove_scan_wizard(scan_wizard)
    scan_wizard.removed self, nil, nil, nil
  end

  super
end