D-Bus интерфейс ru.omp.ManagedConfiguration.Admin1
Интерфейс для получения списка приложений, поддерживающих унифицированную настройку, текущей конфигурации конкретного приложения и формата его параметров.
Шина: | системная |
Служба: | ru.omp.ManagedConfiguration |
Объект: | /ru/omp/ManagedConfiguration |
Интерфейс: | ru.omp.ManagedConfiguration.Admin1 |
Методы
- ChangeConfiguration(string applicationId, int userId, map<string, variant> configuration)
- GetApplications(array
&applicationsIDs) - GetConfiguration(string applicationId, int userId, map<string, variant> &configuration)
Подробное описание
Через данный интерфейс можно получать список приложений, поддерживающих унифицированную настройку, получать текущую конфигурацию конкретного приложения и формат его параметров.
Приложениям, использующим данный интерфейс, необходимо указать разрешение
ManagedConfigurationAdmin
.
Описание методов
ChangeConfiguration(string applicationId, int userId, map<string, variant> configuration)
Изменяет конфигурацию приложения.
applicationId
— идентификатор управляемого приложения.userId
— идентификатор пользователя, для которого запрашивается конфигурация.configuration
— словарь пар ключ-значение, которые следует изменить в конфигурации.
Возможные ошибки:
InvalidType
— попытка установить значение недопустимого типа.InvalidValue
— попытка установить недопустимое значение.ForbiddenToChange
— попытка изменить недоступную конфигурацию.DoesNotSupportConfiguration
— приложение не поддерживает конфигурацию.InvalidUserId
— недопустимый идентификатор пользователя.NonExistingUser
— пользователь не существует.UnsupportedType
— тип не поддерживается.
Пример данных для configuration
(используется синтаксис JSON):
{
"EnableFileLogging": false,
"VpnServer": {
"Name": "OMP_SPB",
"Location": "Saint Petersburg",
"IP": "255.255.255.1"
}
}
GetApplications(array<string> &applicationsIDs)
Возвращает список приложений, поддерживающих управляемую конфигурацию.
applicationsIDs
— идентификаторы управляемых приложений.
GetConfiguration(string applicationId, int userId, map<string, variant> &configuration)
Возвращает конфигурацию приложения.
applicationId
— идентификатор управляемого приложения.userId
— идентификатор пользователя, для которого запрашивается конфигурация. -1 зарезервировано для всех пользователей. Все остальные допустимые идентификаторы пользователей (кроме root) могут быть переданы.configuration
— словарь пар ключ-значение, описывающих параметры конфигурации.
Возможные ошибки:
DoesNotSupportConfiguration
— приложение не поддерживает конфигурацию.InvalidUserId
— недопустимый идентификатор пользователя.NonExistingUser
— пользователь не существует.
В configuration
для каждого ключа есть словарь с описанием атрибутов и значением
(если значение было задано).
Пример (используется синтаксис JSON):
{
"EnableFileLogging": {
"type": 2,
"reason": 2,
"configurableBy": 0,
"title": "Включено ли ведение журнала файлов",
"description": "Опишите, работает ли ведение журнала файлов",
"defaultValue": true,
"value": false
},
"VpnServer": {
"type": 8,
"title": "VPN-сервер",
"description": "VPN-сервер для инфоструктуры OMP",
"value": {
"Name": {
"type": 1,
"reason": 2,
"configurableBy": 2,
"title": "Имя VPN-сервера",
"description": "Некоторое описание",
"value": "OMP_SPB"
},
"Location": {
"type": 1,
"reason": 2,
"configurableBy": 2,
"title": "Имя VPN-сервера",
"description": "Некоторое описание",
"value": "Санкт-Петербург"
},
"IP": {
"type": 1,
"reason": 2,
"configurableBy": 2,
"title": "Имя VPN-сервера",
"description": "Некоторое описание",
"value": "255.255.255.1"
}
}
}
}