edelib: D-Bus classes and functions

edelib 1.0

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Classes | Macros | Typedefs | Enumerations | Functions
D-Bus classes and functions

## Classes
class | EdbusConnection
| D-Bus connection and data sender. More...
class | EdbusContainer< T >
| Abstract container for D-Bus containers. More...
class | EdbusData
| Class for representing D-Bus data types. More...
class | EdbusVariant
| Represents D-Bus variant. More...
class | EdbusDictEntry
| An entry in EdbusDict. More...
class | EdbusDict
| Dictionary container for D-Bus types. More...
class | EdbusError
| A class representing D-Bus error. More...
class | EdbusList
| A class representing D-Bus struct and array. More...
class | EdbusMessage
| Data transporter for D-Bus. More...
class | EdbusObjectPath
| Represents D-Bus object path. More...

## Macros
#define | EDBUS_INTROSPECTION_DTD

## Typedefs
typedef int(* | EdbusCallback) (const EdbusMessage *, void *)

## Enumerations
enum | EdbusConnectionType { EDBUS_SYSTEM, EDBUS_SESSION }
| Represents connection either to system or session bus. More...
enum | EdbusNameMode { EDBUS_NAME_NO_REPLACE = 0, EDBUS_NAME_ALLOW_REPLACE = 1, EDBUS_NAME_REPLACE_EXISTING = 2 }
| What to do when known name is acquired. More...
enum | EdbusDataType { EDBUS_TYPE_INVALID, EDBUS_TYPE_BYTE, EDBUS_TYPE_BOOL, EDBUS_TYPE_INT16, EDBUS_TYPE_UINT16, EDBUS_TYPE_INT32, EDBUS_TYPE_UINT32, EDBUS_TYPE_INT64, EDBUS_TYPE_UINT64, EDBUS_TYPE_DOUBLE, EDBUS_TYPE_STRING, EDBUS_TYPE_OBJECT_PATH, EDBUS_TYPE_ARRAY, EDBUS_TYPE_STRUCT, EDBUS_TYPE_DICT, EDBUS_TYPE_VARIANT }
| Type of data current EdbusData object holds. More...
enum | EdbusErrorType { EDBUS_ERROR_INVALID, EDBUS_ERROR_FAILED, EDBUS_ERROR_NO_MEMORY, EDBUS_ERROR_SERVICE_UNKNOWN, EDBUS_ERROR_NAME_HAS_NO_OWNER, EDBUS_ERROR_NO_REPLY, EDBUS_ERROR_IO_ERROR, EDBUS_ERROR_BAD_ADDRESS, EDBUS_ERROR_NOT_SUPPORTED, EDBUS_ERROR_LIMITS_EXCEEDED, EDBUS_ERROR_ACCESS_DENIED, EDBUS_ERROR_AUTH_FAILED, EDBUS_ERROR_NO_SERVER, EDBUS_ERROR_TIMEOUT, EDBUS_ERROR_NO_NETWORK, EDBUS_ERROR_DISCONNECTED, EDBUS_ERROR_INVALID_ARGS, EDBUS_ERROR_FILE_NOT_FOUND, EDBUS_ERROR_FILE_EXISTS, EDBUS_ERROR_UNKNOWN_METHOD, EDBUS_ERROR_TIMED_OUT, EDBUS_ERROR_INVALID_SIGNATURE, EDBUS_ERROR_USER_DEFINED }
| EdbusError error type. More...

## Functions
EdbusList & | operator<< (EdbusList &lst, const EdbusData &val)
EdbusMessage & | operator<< (EdbusMessage &m, const EdbusData &val)
EdbusObjectPath & | operator<< (EdbusObjectPath &p, const char *el)

## Detailed Description

## Macro Definition Documentation

#define EDBUS_INTROSPECTION_DTD

Value:
"<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN\" \n" \
"\"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd\">\n\n"

This macro is DTD header for DBus introspection XML. Useful only if you are going to construct own introspection XML reply.

## Typedef Documentation

typedef int(* EdbusCallback) (const EdbusMessage *, void *)

A callback type for method and signal callbacks

## Enumeration Type Documentation

enum EdbusConnectionType

Represents connection either to system or session bus.

Enumerator
EDBUS_SYSTEM | System bus.
EDBUS_SESSION | Session bus.

enum EdbusDataType

Type of data current EdbusData object holds.

Enumerator
EDBUS_TYPE_INVALID | Invalid type (empty object)
EDBUS_TYPE_BYTE | byte
EDBUS_TYPE_BOOL | bool
EDBUS_TYPE_INT16 | short
EDBUS_TYPE_UINT16 | unsigned short
EDBUS_TYPE_INT32 | integer
EDBUS_TYPE_UINT32 | unsigned integer
EDBUS_TYPE_INT64 | long long
EDBUS_TYPE_UINT64 | unsigned long long
EDBUS_TYPE_DOUBLE | double
EDBUS_TYPE_STRING | string
EDBUS_TYPE_OBJECT_PATH | EdbusObjectPath type.
EDBUS_TYPE_ARRAY | array
EDBUS_TYPE_STRUCT | structure
EDBUS_TYPE_DICT | dictionary
EDBUS_TYPE_VARIANT | variant

enum EdbusErrorType

EdbusError error type.

Enumerator
EDBUS_ERROR_INVALID | empty error
EDBUS_ERROR_FAILED | generic failure
EDBUS_ERROR_NO_MEMORY | out of memory
EDBUS_ERROR_SERVICE_UNKNOWN | address service is neither connected nor can be activated
EDBUS_ERROR_NAME_HAS_NO_OWNER | a non-unique name used in message is not known
EDBUS_ERROR_NO_REPLY | expected reply not received
EDBUS_ERROR_IO_ERROR | IO error during operation.
EDBUS_ERROR_BAD_ADDRESS | malformed address to be connected to
EDBUS_ERROR_NOT_SUPPORTED | requested operation not supported
EDBUS_ERROR_LIMITS_EXCEEDED | resource reached it's limit
EDBUS_ERROR_ACCESS_DENIED | not enough permissions to execute or access operation
EDBUS_ERROR_AUTH_FAILED | authentication failed
EDBUS_ERROR_NO_SERVER | unable to connect to the D-Bus server
EDBUS_ERROR_TIMEOUT | an timeout occured during operation
EDBUS_ERROR_NO_NETWORK | transport channel network not available
EDBUS_ERROR_DISCONNECTED | trying to perform operation on unconnected connection
EDBUS_ERROR_INVALID_ARGS | invalid arguments for method call
EDBUS_ERROR_FILE_NOT_FOUND | a file needed for operation not present
EDBUS_ERROR_FILE_EXISTS | file exists, but operation does not allow overwriting
EDBUS_ERROR_UNKNOWN_METHOD | unknown method
EDBUS_ERROR_TIMED_OUT | an operation timed out
EDBUS_ERROR_INVALID_SIGNATURE | invalid signature for message
EDBUS_ERROR_USER_DEFINED | user defined error

enum EdbusNameMode

What to do when known name is acquired.

Enumerator
EDBUS_NAME_NO_REPLACE | Do not replace existing name.
EDBUS_NAME_ALLOW_REPLACE | Existing name can be replaced.
EDBUS_NAME_REPLACE_EXISTING | Force replacement.

## Function Documentation

EdbusObjectPath& edelib::operator<< | ( | EdbusObjectPath & | p,
|  | const char * | el
| ) |  |
| inline

A simple shorcut for EdbusObjectPath append() memeber

References EdbusObjectPath::append().

EdbusList& edelib::operator<< | ( | EdbusList & | lst,
|  | const EdbusData & | val
| ) |  |
| inline

A convinient shortcut for EdbusList::append(). You can use it as:

EdbusList m = EdbusData::from_struct();
m << EdbusData::from_int32(4) << EdbusData::from_string("sample string") << EdbusData::from_bool(true);

References EdbusList::append().

EdbusMessage& edelib::operator<< | ( | EdbusMessage & | m,
|  | const EdbusData & | val
| ) |  |
| inline

A convinient shortcut for EdbusMessage::append(). You can use it as:

EdbusMessage m;
m << EdbusData::from_int32(4) << EdbusData::from_string("sample string") << EdbusData::from_bool(true);

References EdbusMessage::append().