D-Bus

## D-Bus D-Bus — The D-Bus Services |

## Types and Values

#define | FILEMANAGER_ACTIONS_DBUS_SERVICE
#define | FILEMANAGER_ACTIONS_DBUS_TRACKER_PATH
#define | FILEMANAGER_ACTIONS_DBUS_TRACKER_IFACE

## Includes

    #include <filemanager-actions/fma-dbus.h>

## Description

FileManager-Actions™, through its tracker plugin, exposes several D-Bus interfaces. These interfaces may be queried in order to get informations about current selection, FileManager-Actions™ status, and so on.

To be really clear, FileManager-Actions™ relies on a running file manager in order to be able to register its own D-Bus services via the tracker plugin.

If the file manager does not run, or the tracker plugin is not loaded at file manager startup, then these D-Bus services will not be available.

## Functions

## Types and Values

### FILEMANAGER_ACTIONS_DBUS_SERVICE

    #define FILEMANAGER_ACTIONS_DBUS_SERVICE            "org.filemanager-actions.DBus"

This is the « well-known » name that FileManager-Actions™ reserves on D-Bus session bus.

### FILEMANAGER_ACTIONS_DBUS_TRACKER_PATH

    #define FILEMANAGER_ACTIONS_DBUS_TRACKER_PATH       "/org/filemanager_actions/DBus/Tracker"

The D-Bus path of the tracker object.

When requested through the `Introspect` of the

`Introspectable` D-Bus interface, the

tracker object returns following informations:

        dbus-send \
          --session \
          --type=method_call \
          --print-reply \
          --dest=org.filemanager-actions.DBus \
            /org/filemanager_actions/DBus/Tracker \
              org.freedesktop.DBus.Introspectable.Introspect

        method return sender=:1.29 -> dest=:1.145 reply_serial=2
          string "<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
        "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
        <node>
          <interface name="org.freedesktop.DBus.Introspectable">
            <method name="Introspect">
              <arg name="data" direction="out" type="s"/>
            </method>
          </interface>
          <interface name="org.freedesktop.DBus.Properties">
            <method name="Get">
              <arg name="interface" direction="in" type="s"/>
              <arg name="propname" direction="in" type="s"/>
              <arg name="value" direction="out" type="v"/>
            </method>
            <method name="Set">
              <arg name="interface" direction="in" type="s"/>
              <arg name="propname" direction="in" type="s"/>
              <arg name="value" direction="in" type="v"/>
            </method>
            <method name="GetAll">
              <arg name="interface" direction="in" type="s"/>
              <arg name="props" direction="out" type="a{sv}"/>
            </method>
          </interface>
          <interface name="org.filemanager_actions.DBus.Tracker.Status">
            <method name="GetSelectedPaths">
              <arg name="paths" type="as" direction="out"/>
            </method>
          </interface>
        </node>

### FILEMANAGER_ACTIONS_DBUS_TRACKER_IFACE

    #define FILEMANAGER_ACTIONS_DBUS_TRACKER_IFACE  	"org.filemanager_actions.DBus.Tracker.Properties1"

An interface defined on the tracker object, identified by its `FILEMANAGER_ACTIONS_DBUS_TRACKER_PATH` D-Bus path.