Newer
Older
- [1. Интерфейсы ru.basealt.alterator.componentX](#1-интерфейсы-rubasealtalteratorcomponentx)
- [1.1. Специцикация интерфейса ru.basealt.alterator.application1](#11-специцикация-интерфейса-rubasealtalteratorapplication1)
- [1.1.1. Методы](#111-методы)
- [1.1.1.1. Info](#1111-info)
- [1.1.1.2. Status](#1112-status)
- [1.1.1.3. Description](#1113-description)
- [1.1.2. Сигналы](#112-сигналы)
# 1. Интерфейсы ru.basealt.alterator.componentX
Интерфейсы `component` предназначены для взаимодействия с компонетами операционной системы при помощи D-Bus.
## 1.1. Специцикация интерфейса ru.basealt.alterator.application1
Данный интерфейс должен быть реализован для каждого из компонетов.
Все реализации интерфейса должны обладать **исключительно** методами и сигналами описанными в данной спецификации. Сигнатуры методов и сигналов также должы полностью совпадать с описанноми в спецификации. В обратном случае валидация данной реализации провалится и экземпляр интерфейса **не будет** зарегистрирован на D-Bus.
Метод `Info () -> (Array of [Byte] stdout_bytes, Int32 response)` предназначен для предоставления информации о компоненте, представленном данным объектом, в формате [Alterator Entry](https://gitlab.basealt.space/alt/alterator-entry/-/blob/master/doc/README.md). Результатом выполнения метода является пара массива байтов `stdout_bytes`, который содержит Alterator Entry типа `Component`, и целочисленного числа `response`, отражающего код возврата метода.
Метод `Status () -> (Array of [String] stdout_strings, Int32 response)` позволяет определить статус данного компонента. В списке строк `stdout_strings` должен содержаться ровно один элемент — число обозначающее статус компонента:
- 0 — компонент полностью не установлен (не установлен ни один его пакет)
- 1 — компонент частично установлен (установлены лишь некоторые его пакеты)
- 2 — компонент полностью установлен (установлены все его пакеты).
Аргумент `response` должен содержать вод возврата метода.
Метод `Description () -> (Array of [Byte] stdout_strings, Int32 response)` <!--CHECK(kozyrevid):d-feet shows array of strings but doesn't realy make sense--> предоставляет подробное описание компонента в формате HTML. Массив байтов `stdout_strings` должен содержать само описание, а `response` — код возврата метода.
Данный интерфейс не допускает налиячия каких-либо сигналов.