Module: DBus

Defined in:
lib/dbus.rb,
lib/dbus/bus.rb,
lib/dbus/xml.rb,
lib/dbus/auth.rb,
lib/dbus/type.rb,
lib/dbus/error.rb,
lib/dbus/export.rb,
lib/dbus/logger.rb,
lib/dbus/message.rb,
lib/dbus/marshall.rb,
lib/dbus/matchrule.rb,
lib/dbus/introspect.rb,
lib/dbus/proxy_object.rb,
lib/dbus/message_queue.rb,
lib/dbus/proxy_object_factory.rb,
lib/dbus/proxy_object_interface.rb

Overview

This file is part of the ruby-dbus project Copyright © 2007 Arnaud Cornet and Paul van Tilburg Copyright © 2009-2014 Martin Vidner

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software Foundation. See the file “COPYING” for the exact licensing terms.

Defined Under Namespace

Modules: Type Classes: ASessionBus, ASystemBus, Anonymous, AuthenticationFailed, Authenticator, Client, Connection, DBusCookieSHA1, Error, ErrorMessage, External, FormalParameter, IncompleteBufferException, Interface, InterfaceElement, IntrospectXMLParser, InvalidClassDefinition, InvalidDestinationName, InvalidIntrospectionData, InvalidMethodName, InvalidPacketException, InvalidParameters, Main, MatchRule, MatchRuleException, Message, MessageQueue, Method, MethodNotImplemented, MethodReturnMessage, Node, Object, PacketMarshaller, PacketUnmarshaller, ProxyObject, ProxyObjectFactory, ProxyObjectInterface, RemoteBus, Service, SessionBus, Signal, SystemBus, TypeException, UnknownSignal

Constant Summary collapse

SystemSocketName =

Default socket name for the system bus.

"unix:path=/var/run/dbus/system_bus_socket"
BIG_END =

Byte signifying big endianness.

?B
LIL_END =

Byte signifying little endianness.

?l
HOST_END =

Byte signifying the host’s endianness.

if [0x01020304].pack("L").unpack("V")[0] == 0x01020304
  LIL_END
else
  BIG_END
end
MethodSignalRE =

Regular expressions that should match all method names.

/^[A-Za-z][A-Za-z0-9_]*$/
InterfaceElementRE =

Regular expressions that should match all interface names.

/^[A-Za-z][A-Za-z0-9_]*$/

Class Method Summary collapse

Class Method Details

.error(name = "org.freedesktop.DBus.Error.Failed") ⇒ Object

Examples:

raise a generic error

raise DBus.error, "message"

raise a specific error

raise DBus.error("org.example.Error.SeatOccupied"), "Seat #{n} is occupied"


41
42
43
44
# File 'lib/dbus/error.rb', line 41

def error(name = "org.freedesktop.DBus.Error.Failed")
  # message will be set by Kernel.raise
  DBus::Error.new(nil, name)
end

.loggerObject

Get the logger for the DBus module. The default one logs to STDERR, with DEBUG if $DEBUG is set, otherwise INFO.



17
18
19
20
21
22
23
# File 'lib/dbus/logger.rb', line 17

def logger
  unless defined? @logger
    @logger = Logger.new(STDERR)
    @logger.level = $DEBUG ? Logger::DEBUG : Logger::INFO
  end
  @logger
end

.logger=(logger) ⇒ Object

Set the logger for the DBus module



27
28
29
# File 'lib/dbus/logger.rb', line 27

def logger=(logger)
  @logger = logger
end

.session_busConnection

Shortcut for the SessionBus instance

Returns:



684
685
686
# File 'lib/dbus/bus.rb', line 684

def DBus.session_bus
  SessionBus.instance
end

.system_busConnection

Shortcut for the SystemBus instance

Returns:



678
679
680
# File 'lib/dbus/bus.rb', line 678

def DBus.system_bus
  SystemBus.instance
end

.type(string_type) ⇒ Object

Parse a String to a DBus::Type::Type



182
183
184
# File 'lib/dbus/type.rb', line 182

def type(string_type)
  Type::Parser.new(string_type).parse[0]
end

.variant(string_type, value) ⇒ Object

Make an explicit [Type, value] pair



188
189
190
# File 'lib/dbus/type.rb', line 188

def variant(string_type, value)
  [type(string_type), value]
end