mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
be777e192a
Documented org.equinoxproject.Xsettings service.
227 lines
7.8 KiB
Plaintext
227 lines
7.8 KiB
Plaintext
D-BUS usage in EDE
|
|
==================
|
|
|
|
Introduction
|
|
------------
|
|
This document describes link:http://freedesktop.org/wiki/Software/dbus/[D-BUS] usage in EDE applications.
|
|
It is not meant to describe D-BUS protocol nor how to use it via libdbus nor edelib, but to document and
|
|
explain what programs listen or what data are send via D-BUS protocol.
|
|
|
|
Naming convention
|
|
-----------------
|
|
EDE uses 'org.equinoxproject' as main namespace for interfaces and object paths, e.g.
|
|
|
|
-----------------------------------------------------------
|
|
org.equinoxproject.Desktop # ede-desktop interface
|
|
/org/equinoxproject/Desktop # ede-desktop object path
|
|
-----------------------------------------------------------
|
|
|
|
Rest of the name will be application name with method or signal name. If application name
|
|
is not suitable or could not be represented as D-BUS name (or could be ambiguous), it can be replaced
|
|
with applications functionality ('org.equinoxproject.Desktop' sounds much better than 'org.equinoxproject.Ede_Desktop').
|
|
|
|
Sample:
|
|
-----------------------------------------------------------
|
|
org.equinoxproject.Desktop.FooMethod # FooMethod belongs to ede-desktop
|
|
-----------------------------------------------------------
|
|
|
|
Interfaces
|
|
----------
|
|
|
|
org.equinoxproject.Desktop
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Used by ede-desktop and access object is '/org/eqiunoxproject/Desktop'. Provided signals are:
|
|
|
|
DesktopChanged(int32 n, string name)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
n int32 Desktop number
|
|
name string Desktop name
|
|
-------------------------------------
|
|
|
|
Notify when desktop view was changed.
|
|
|
|
'''''
|
|
|
|
org.equinoxproject.Emountd
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
Used by emountd and access object is '/org/equinoxproject/Emountd'. Provided
|
|
signals are:
|
|
|
|
|
|
Mounted(struct device_info)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
'device_info' contains the following fields:
|
|
|
|
[grid="all"]
|
|
`---------------`---------`-----------------------------------
|
|
Name Type Description
|
|
--------------------------------------------------------------
|
|
id uint32 Device ID for easier tracking
|
|
label string Device label (can be empty)
|
|
mount_point string Device mount point
|
|
device_file string Device file
|
|
drive_type int32 Drive type (see <<X1, Drive types>>)
|
|
cdrom_type int32 CDROM type, valid only if 'drive_type == DRIVE_TYPE_CDROM' (see <<X2, Volume disc types>>)
|
|
read_only bool Is device mounted read-only
|
|
--------------------------------------------------------------
|
|
|
|
Notify when storage device was mounted.
|
|
|
|
Unmounted(int32 udi)
|
|
^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
id int32 Device ID for easier tracking
|
|
-------------------------------------
|
|
|
|
Notify when storage device was unmounted.
|
|
|
|
AudioCDAdded(struct audio_device_info)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
'audio_device_info' contains the following fields:
|
|
|
|
[grid="all"]
|
|
`---------------`---------`-----------------------------------
|
|
Name Type Description
|
|
--------------------------------------------------------------
|
|
id uint32 Device ID for easier tracking
|
|
label string Device label (can be empty)
|
|
device_file string Device file
|
|
--------------------------------------------------------------
|
|
|
|
Notify when Audio CD was added.
|
|
|
|
AudioCDRemoved(int32 udi)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
id int32 Device ID for easier tracking
|
|
-------------------------------------
|
|
|
|
Notify when Audio CD was removed.
|
|
|
|
Device enumerations directly maps to HAL ones and those values
|
|
are send in 'drive_type' and 'cdrom_type' (device_info struct).
|
|
|
|
[[X1]]
|
|
*Drive types:*
|
|
-------------------------------------------------------------
|
|
DRIVE_TYPE_REMOVABLE_DISK = 0x00
|
|
DRIVE_TYPE_DISK = 0x01
|
|
DRIVE_TYPE_CDROM = 0x02
|
|
DRIVE_TYPE_FLOPPY = 0x03
|
|
DRIVE_TYPE_TAPE = 0x04
|
|
DRIVE_TYPE_COMPACT_FLASH = 0x05
|
|
DRIVE_TYPE_MEMORY_STICK = 0x06
|
|
DRIVE_TYPE_SMART_MEDIA = 0x07
|
|
DRIVE_TYPE_SD_MMC = 0x08
|
|
DRIVE_TYPE_CAMERA = 0x09
|
|
DRIVE_TYPE_PORTABLE_AUDIO_PLAYER = 0x0a
|
|
DRIVE_TYPE_ZIP = 0x0b
|
|
DRIVE_TYPE_JAZ = 0x0c
|
|
DRIVE_TYPE_FLASHKEY = 0x0d
|
|
DRIVE_TYPE_MO = 0x0e
|
|
-------------------------------------------------------------
|
|
|
|
[[X2]]
|
|
*Volume disc types:*
|
|
-------------------------------------------------------------
|
|
VOLUME_DISC_TYPE_CDROM = 0x00
|
|
VOLUME_DISC_TYPE_CDR = 0x01
|
|
VOLUME_DISC_TYPE_CDRW = 0x02
|
|
VOLUME_DISC_TYPE_DVDROM = 0x03
|
|
VOLUME_DISC_TYPE_DVDRAM = 0x04
|
|
VOLUME_DISC_TYPE_DVDR = 0x05
|
|
VOLUME_DISC_TYPE_DVDRW = 0x06
|
|
VOLUME_DISC_TYPE_DVDPLUSR = 0x07
|
|
VOLUME_DISC_TYPE_DVDPLUSRW = 0x08
|
|
VOLUME_DISC_TYPE_DVDPLUSR_DL = 0x09
|
|
VOLUME_DISC_TYPE_BDROM = 0x0a
|
|
VOLUME_DISC_TYPE_BDR = 0x0b
|
|
VOLUME_DISC_TYPE_BDRE = 0x0c
|
|
VOLUME_DISC_TYPE_HDDVDROM = 0x0d
|
|
VOLUME_DISC_TYPE_HDDVDR = 0x0e
|
|
VOLUME_DISC_TYPE_HDDVDRW = 0x0f
|
|
VOLUME_DISC_TYPE_MO = 0x10
|
|
-------------------------------------------------------------
|
|
|
|
org.equinoxproject.Shutdown
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
A general signal emitted when EDE is starting to shut down.
|
|
|
|
Shutdown()
|
|
^^^^^^^^^^
|
|
The only member of 'org.equinoxproject.Shutdown' signal.
|
|
|
|
org.equinoxproject.Xsettings
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
This service path exposes XSETTINGS registry. Object path for access
|
|
service methods is '/org/equinoxproject/Xsettings' and interface is 'org.equinoxproject.Xsettings'.
|
|
|
|
GetAll()
|
|
^^^^^^^^
|
|
Returns array of all known keys hold by XSETTINGS manager. Each array item is string type.
|
|
|
|
GetType(string key)
|
|
^^^^^^^^^^^^^^^^^^^
|
|
Returns type of the given key. As XSETTINGS knows only three types (int, string and color), returned
|
|
value will be string holding type name.
|
|
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
key string Key name
|
|
-------------------------------------
|
|
|
|
GetValue(string key)
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
Returns value given key holds. Value can be int32, string or array, depending whay type key is.
|
|
Array will be returned when key holds color type and array will represent RGBA, where
|
|
each element holds int32 type.
|
|
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
key string Key name
|
|
-------------------------------------
|
|
|
|
Remove(string key)
|
|
^^^^^^^^^^^^^^^^^^
|
|
Removes given key from XSETTINGS registry. If key wasn't found, the function will do nothing.
|
|
|
|
[grid="all"]
|
|
`---------`---------`----------------
|
|
Name Type Description
|
|
-------------------------------------
|
|
key string Key name
|
|
-------------------------------------
|
|
|
|
Flush()
|
|
^^^^^^^
|
|
Force XSETTINGS manager to store data on disk. This is usually done by manager when exits.
|
|
|
|
Set(string key, type value)
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
Set key to given value. Here, value can be int32, string or array (4 int32 elements, representing RGBA)
|
|
and set value will automatically set key value type. Returns true if done successfully or false if not.
|
|
|
|
[grid="all"]
|
|
`---------`------------------------------`---------------------
|
|
Name Type Description
|
|
---------------------------------------------------------------
|
|
key string Key name
|
|
value int32, string or int32 array Value key will hold
|
|
---------------------------------------------------------------
|