• Nemo Transfer Engine
  • Nemo Transfer Engine

    The Nemo Transfer Engine is a daemon process which takes care of tracking sharing, sync and downloads. In addition to just tracking those operations, it provides an API to create new share plugins and different functionality related these operations.The Nemo Transfer Engine doesn't provide any UI components, but the plugin interface expects sharing UIs to be written as QML.

    The Nemo Transfer Engine can be understood as a front end to the database which contain all the information about sharing, syncs and downloads. For syncs and downloads it acts only as storage manager so clients can use Nemo Transfer Engine client API to create and update sync and download events. For sharing, Nemo Transfer Engine provides own API and supports share plugins.

    See TransferEngine DbManager

    Nemo Transfer Engine API

    The API can be divided in two different parts: the share plugin API and the client API.

    Share Plugin API

    Share plugin is a Qt plugin, which must be implemented using C++ interfaces defined by Nemo Transfer Engine. The plugins must be installed to the specific location where Nemo Transfer Engine loads them. The actual share functionality implementation depends on the client e.g. if it's HW specific like NFC or online service such as Facebook. Each plugin must implement or use the following interface:

    Client API

    Client API can also be divided in two sections: full features DBus API and TransferEngineClient Interface. The first one supports all the features Nemo Transfer Engine provides and makes possible to implement for example Transfer UI and client side sharing interface on top of it. The TransferEngineClient is meant to be used by clients who want to inform Nemo Transfer Engine of ongoing Sync or Downloads.