Module: Flic::Client::Features::Scan

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

Instance Method Summary collapse

Instance Method Details

#add_scanner(scanner) ⇒ Object



20
21
22
23
24
# File 'lib/flic/client/features/scan.rb', line 20

def add_scanner(scanner)
  scan_id = _add_scanner(scanner)

  send_command Protocol::Commands::CreateScanner.new(scan_id: scan_id) if scan_id
end

#initializeObject



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

def initialize(*)
  @scan_id_scanner_semaphore = Mutex.new
  @scan_id_scanner = {}

  super
end

#remove_scanner(scanner) ⇒ Object



26
27
28
29
30
# File 'lib/flic/client/features/scan.rb', line 26

def remove_scanner(scanner)
  scan_id = _remove_scanner(scanner)

  send_command Protocol::Commands::RemoveScanner.new(scan_id: scan_id) if scan_id
end

#scannersObject



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

def scanners
  @scan_id_scanner_semaphore.synchronize { @scan_id_scanner.values }
end

#shutdownObject



32
33
34
35
36
37
38
# File 'lib/flic/client/features/scan.rb', line 32

def shutdown(*)
  scanners.each do |scanner|
    _remove_scanner(scanner)
  end

  super
end