Class: DBusInterface::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/dbus_interface/connection.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(default_iface, object_path) ⇒ Connection

Returns a new instance of Connection.



4
5
6
7
# File 'lib/dbus_interface/connection.rb', line 4

def initialize(default_iface, object_path)
  @default_iface = default_iface
  @object_path = object_path
end

Instance Attribute Details

#default_ifaceObject (readonly)

Returns the value of attribute default_iface.



2
3
4
# File 'lib/dbus_interface/connection.rb', line 2

def default_iface
  @default_iface
end

#object_pathObject (readonly)

Returns the value of attribute object_path.



2
3
4
# File 'lib/dbus_interface/connection.rb', line 2

def object_path
  @object_path
end

Class Method Details

.add_connection(con) ⇒ Object



17
18
19
# File 'lib/dbus_interface/connection.rb', line 17

def self.add_connection(con)
  @@connections[con.key] = con
end

.call(default_iface, object_path, method, *args) ⇒ Object



39
40
41
42
# File 'lib/dbus_interface/connection.rb', line 39

def self.call(default_iface, object_path, method, *args)
  con = instance_for(default_iface, object_path)
  con.call(method, *args)
end

.clear!Object



9
10
11
# File 'lib/dbus_interface/connection.rb', line 9

def self.clear!
  connections.clear
end

.connection_key(default_iface, object_path) ⇒ Object



31
32
33
# File 'lib/dbus_interface/connection.rb', line 31

def self.connection_key(default_iface, object_path)
  [default_iface,object_path].join
end

.connectionsObject



13
14
15
# File 'lib/dbus_interface/connection.rb', line 13

def self.connections
  @@connections ||= {}
end

.instance_for(default_iface, object_path) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/dbus_interface/connection.rb', line 21

def self.instance_for(default_iface, object_path)
  con_key = connection_key(default_iface, object_path)
  if connections[con_key]
    connections[con_key]
  else
    new_con = new(default_iface, object_path)
    add_connection(new_con)
  end
end

Instance Method Details

#call(method, *args) ⇒ Object



44
45
46
# File 'lib/dbus_interface/connection.rb', line 44

def call(method, *args)
  dbus.send(method, *args)
end

#keyObject



35
36
37
# File 'lib/dbus_interface/connection.rb', line 35

def key
  self.class.connection_key(default_iface, object_path)
end