Документация
ОС Аврора 5.1.0

Примеры

В примерах ниже демонстрируется использование различных возможностей данного API.

Вызов метода на объекте сессионной шины

В данном фрагменте кода происходит обращение к демону профилей и установка текущего профиля в значение 'silent'.

 import QtQuick 2.0
 import Nemo.DBus 2.0

 Item {
     DBusInterface {
         id: profiled

         service: 'com.nokia.profiled'
         iface: 'com.nokia.profiled'
         path: '/com/nokia/profiled'
     }

     Component.onCompleted: {
         // Вызывается метод "set_profile"
         profiled.call('set_profile', ['silent']);
     }
 }

Вызов метода и получение возвращаемого значения

Поскольку вызовы методов являются асинхронными, потребуется предоставить функцию обратного вызова, которая будет вызываться после получения результата вызванного метода:

 import QtQuick 2.0
 import Nemo.DBus 2.0

 Item {
     DBusInterface {
         id: profiled

         service: 'com.nokia.profiled'
         iface: 'com.nokia.profiled'
         path: '/com/nokia/profiled'
     }

     Component.onCompleted: {
         // Вызывается метод "get_profile" без аргументов и, 
         // когда он вернёт значение, следует вызвать переданную функцию обратного вызова
         profiled.typedCall('get_profile', [], function (result) {
             // Этот код будет исполнен после получения результата вызванного метода
             console.log('Got profile: ' + result);
         });
     }
 }

Прослушивание сигналов объекта D-Bus

 import QtQuick 2.0
 import Nemo.DBus 2.0

 Item {
     DBusInterface {
         id: profiled

         service: 'com.nokia.profiled'
         iface: 'com.nokia.profiled'
         path: '/com/nokia/profiled'

         signalsEnabled: true

         function profile_changed(changed, active, profile, values) {
             if (changed && active)
                 console.log("Profile changed to:", profile)
         }
     }
 }

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.