arsd.dbus

A module mostly copied from https://github.com/trishume/ddbus to help access the C dbus library on Linux.

Members

Classes

DBusException
class DBusException

Thrown when a DBus error code was returned by libdbus.

InvalidValueException
class InvalidValueException

Thrown during type conversion between DBus types and D types when a value is encountered that can not be represented in the target type.

TypeMismatchException
class TypeMismatchException

Thrown when the signature of a message does not match the requested types or when trying to get a value from a DBusAny object that does not match the type of its actual value.

Enums

MarshalingFlag
enum MarshalingFlag

Flags for use with dbusMarshaling UDA

Functions

dbusMarshaling
auto dbusMarshaling(Args args)

UDA for specifying DBus marshaling options on structs

registerMethods
void registerMethods(MessageRouter router, string path, string iface, T obj)

Registers all *possible* methods of an object in a router. It will not register methods that use types that ddbus can't handle.

requestName
bool requestName(Connection conn, string name, NameFlags flags)

Requests a DBus well-known name. returns if the name is owned after the call. Involves blocking call on a DBus method, may throw an exception on failure.

simpleMainLoop
void simpleMainLoop(Connection conn)

A simple main loop that isn't necessarily efficient and isn't guaranteed to work with other tasks and threads. Use only for apps that only do DBus triggered things.

tick
bool tick(Connection conn)

Single tick in the DBus connection which can be used for concurrent updates.

Structs

DBusAny
struct DBusAny

Structure allowing typeless parameters

Message
struct Message
Undocumented in source.
ObjectPath
struct ObjectPath
Undocumented in source.
Variant
struct Variant(T)

Marks the data as variant on serialization

Meta