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"
}
}
}
}