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

D-Bus интерфейс ru.omp.AuthService.Devlock

Интерфейс позволяет заблокировать экран или отследить подобную блокировку. Подробнее…

Шина: системная
Служба: ru.omp.AuthService
Объект: /ru/omp/AuthService/Devlock
Интерфейс: ru.omp.AuthService.Devlock

Сигналы

Методы

Подробное описание

Интерфейс позволяет заблокировать экран или отследить подобную блокировку.

Описание сигналов

StateChanged(int state)

Испускается при изменении состояния AuthService. Возможные значения приведены в таблице:

Опция Описание
Unlocked Экран устройства разблокирован.
Locked Экран устройства заблокирован.
SecurityUi Экран заблокирован для подтверждения или смены данных пользователя. Его можно скрыть, нажав кнопку «Отмена».

Описание методов

int GetState()

Возвращает текущее состояние AuthService. Возможные значения те же, что и у сигнала StateChanged.

bool SetState(int state)

Изменяет текущее состояние AuthService. Данный метод требует наличия привилегий: владелец вызывающего процесса должен входить в группу auth-factor. Возможные значения те же, что и у сигнала StateChanged.

Пример блокировки экрана с помощью метода SetState:

const QString authdService = QStringLiteral("ru.omp.AuthService");
const QString authdDevlockPath = QStringLiteral("/ru/omp/AuthService/Devlock");
const QString authdDevlockInterface = QStringLiteral("ru.omp.AuthService.Devlock");
const QString setStateMethod = QStringLiteral("SetState");

//
// 0 — разблокирован (Unlocked)
// 1 — заблокирован (Locked)
//
const int32_t lockScreenValue = 1;

bool AuthdCommunicator::lockScreen()
{
    QDBusConnection sysBus = QDBusConnection::systemBus();
    if (!sysBus.isConnected())
        return false;

    QDBusMessage message = QDBusMessage::createMethodCall(authdService,
                                                          authdDevlockPath,
                                                          authdDevlockInterface,
                                                          setStateMethod);

    QVariantList args = {QVariant::fromValue<int32_t>(lockScreenValue)};
    message.setArguments(args);

    bool success = sysBus.send(message);

    qDebug() << __func__ << success;

    return true;
}

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

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