Skip to content
Snippets Groups Projects
README.md 3.66 KiB
Newer Older
  • Learn to ignore specific revisions
  • - [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-сигналы)
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    # 1. Интерфейсы ru.basealt.alterator.componentX
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Интерфейсы `component` предназначены для взаимодействия с компонетами операционной системы при помощи D-Bus.
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    ## 1.1. Специцикация интерфейса ru.basealt.alterator.application1
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Данный интерфейс должен быть реализован для каждого из компонетов. 
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Все реализации интерфейса должны обладать **исключительно** методами и сигналами описанными в данной спецификации. Сигнатуры методов и сигналов также должы полностью совпадать с описанноми в спецификации. В обратном случае валидация данной реализации провалится и экземпляр интерфейса **не будет** зарегистрирован на D-Bus.
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    ### 1.1.1. Методы 
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    #### 1.1.1.1. Info
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Метод `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`, отражающего код возврата метода. 
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    #### 1.1.1.2. Status
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Метод `Status () -> (Array of [String] stdout_strings, Int32 response)` позволяет определить статус данного компонента. В списке строк `stdout_strings` должен содержаться ровно один элемент — число обозначающее статус компонента:
    - 0 — компонент полностью не установлен (не установлен ни один его пакет)
    - 1 — компонент частично установлен (установлены лишь некоторые его пакеты)
    - 2 — компонент полностью установлен (установлены все его пакеты).
    Аргумент `response` должен содержать вод возврата метода.
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    #### 1.1.1.3. Description
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Метод `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` &mdash; код возврата метода.
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    ### 1.1.2. Сигналы
    
    Kozyrev Yuri's avatar
    Kozyrev Yuri committed
    
    
    Данный интерфейс не допускает налиячия каких-либо сигналов.