Alteratorctl: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
(Обновлена информация о модуле components)
 
(не показаны 2 промежуточные версии этого же участника)
Строка 14: Строка 14:
=== Назначение ===
=== Назначение ===
Программа ADT предназначена для:
Программа ADT предназначена для:
#Cистемных администраторов.
# Системных администраторов.
#Опытных пользователей.
# Опытных пользователей.


'''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]].
'''alteratorctl''' является компонентом новой реализации проекта Альтератор, [[Alterator на D-Bus]].
=== Модули alteratorctl ===
Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus.
В настоящий момент реализовано 3 модуля:
* '''manager''' - работает с интерфейсом <tt>org.altlinux.alterator.manager</tt> объекта <tt>/org/altlinux/alterator</tt>.
* '''packages''' - использует интерфейсы <tt>org.altlinux.alterator.rpm1, org.altlinux.alterator.apt1, org.altlinux.alterator.repo</tt> объектов <tt>org/altlinux/alterator/rpm, /org/altlinux/alterator/apt, /org/altlinux/alterator/repo </tt> соответственно.
* '''components''' - использует интерфейс <tt>org.altlinux.alterator.component1</tt> установленных компонент.


= Установка =
= Установка =
Строка 31: Строка 24:
Команды установки
Команды установки
<pre>
<pre>
# apt-repo add <номер задания>
# apt-repo add <номер_задания>
# apt-get update
# apt-get update
# apt-get install alteratorctl
# apt-get install alteratorctl
</pre>
</pre>


Посмотреть список модулей
= Описание модулей =
Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus.
Запуск модулей осуществляется при помощи команды
<pre>
<pre>
$ alteratorctl -m
$ alteratorctl <имя_модуля> <команда_модуля>
</pre>
</pre>


= Запуск =
Команда <code>$ alteratorctl <имя_модуля> --help</code> отображает возможности модулей.
 
Посмотреть список модулей можно при помощи команды <code>$ alteratorctl -m</code>:
 
[[Файл:Alteratorctl-editions1.png|безрамки|alteratorctl-editions1.png]]
 
 
В настоящий момент реализовано 6 модулей:
=== manager ===
Использует интерфейс <tt>org.altlinux.alterator.manager</tt> объекта <tt>/org/altlinux/alterator</tt>.
=== editions ===
Использует интерфейс <tt>org.altlinux.alterator.edition1</tt> объектов из пакетов с редакциями.


=== Запуск модуля ===
Модуль предоставляет возможность выбора редакции и получения информации о составе доступных к выбору редакций.
 
Для работы некоторых команд модуля могут потребоваться права администратора.
 
==== Информация по редакциям ====
Редакция — набор компонентов в составе дистрибутива. Каждая редакция содержит индивидуальный набор предустановленных и доступных для установки компонентов.
 
Список доступных редакций на данный момент:
# Альт Сервер (edition_server)
# Альт Домен (edition_domain)
 
==== Структура редакции ====
Структура редакции представляется в формате TOML и имеет следующий вид:
<pre>
<pre>
alteratorctl <имя_модуля> <команда_модуля>
type = "Edition"
name = "имя редакции"
display_name.en = "Отображаемое имя редакции на английском"
display_name.ru = "Отображаемое имя редакции на русском"
 
license = "Имя лицензии/Релиз"
arches = [ "Архитектура 1", "Архитектура 2" ]
 
desktop_environment = "Графическое окружение"
kflavours = { default = "Версия ядра по умолчанию", options = [ "Версия ядра 1", "Версия ядра 2" ] }
languages = { default = "Язык по умолчанию", options = [ "Язык 1", "Язык 2" ] }
 
[sections.base]
display_name.en = "Имя базовой секции компонентов, входящих в образ на английском"
display_name.ru = "Имя базовой секции компонентов, входящих в образ на русском"
components = [
    "Компонент 1",
    "Компонент 2",
    "…",
    "Компонент N"
]
 
[sections.main]
display_name.en = "Имя секции компонентов, доступных к установке на английском"
display_name.ru = "Имя секции компонентов, доступных к установке на русском"
components = [
    "Компонент 1",
    "Компонент 2",
    "…",
    "Компонент N"
]
</pre>
</pre>


Команда help отображает возможности модуля.
==== Использование модуля ====
Модуль предусматривает использование следующих команд и опций:
<pre>
Команды:
description [название редакции]        получить описание выбранной редакции.
get                                    получить название текущей редакции.
info [название редакции]                вывести информацию о выбранной редакции.
license [название редакции]            вывести информацию о лицензии выбранной редакции.
list [опции]                            вывести список доступных редакций.
set [название редакции]                установить выбранную редакцию.
 
Опции:
-d, --display-name-only                показать только отображаемые имена редакций.
-D, --no-display-name                  скрыть отображаемые имена редакций.
-p, --path-only                        отобразить пути объектов редакций на D-Bus.
-n, --name-only                        отобразить только имена объектов редакций.
-N, --no-name                          скрыть отображение имён объектов редакций.
-h, --help                              показать справку модуля editions.
</pre>
 
==== Примеры использования модуля ====
# Отображение имени текущей редакции.
#* Команда <code>alteratorctl editions</code> выведет список доступных редакций и покажет текущую:
#: [[Файл:Alteratorctl-editions2.png|безрамки|alteratorctl-editions2.png]]
# Отображение только имени объекта текущей редакции.
#* Команда <code>alteratorctl editions get</code> покажет имя объекта текущей редакции:
#: [[Файл:Alteratorctl-editions3.png|безрамки|alteratorctl-editions3.png]]
# Установка выбранной редакции.
#* Команда <code>alteratorctl editions set edition_domain</code> установит редакцию Альт Домен:
#: [[Файл:Alteratorctl-editions4.png|безрамки|alteratorctl-editions4.png]]
# Получение информации о лицензии выбранной редакции.
#* Команда <code>alteratorctl editions license edition_domain</code> покажет информацию о лицензии редакции Альт Домен:
#: [[Файл:Alteratorctl-editions5.png|900px|alteratorctl-editions5.png]]
#: Конкретно в данном случае вывод команды <code>alteratorctl editions license edition_domain</code> не будет отличаться от вывода команды <code>alteratorctl editions license</code>.
 
=== components ===
Использует интерфейс <tt>org.altlinux.alterator.component1</tt> объектов установленных компонентов.
 
Модуль позволяет:
* Просматривать список компонентов;
* Просматривать информацию о компонентах (статус, описание, состав);
* Устанавливать/удалять компоненты.
 
Для работы некоторых команд модуля могут потребоваться права администратора.
 
==== Информация по компонентам ====
Компонент — набор пакетов, предоставляющих определённую функциональность, и некоторую последовательность действий (deploy) для их конфигурации.
 
==== Структура компонента ====
Подробнее про состав и структуру компонентов можно прочитать на соответствующей станице [[alt-components]]. Также здесь можно прочитать про аналог alteratorctl в виде графического приложения для работы с компонентами — '''alterator-application-components'''.  



Например, запуск модуля manager с командой help
==== Использование модуля ====
Модуль предусматривает использование следующих команд и опций:
<pre>
<pre>
alteratorctl manager help  
Формат использования:
alteratorctl components                вывести все компоненты в виде дерева с псевдографикой.
alteratorctl components [КОМАНДА [аргументы]] [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>]
 
Команды:
description <название компонента>      получить описание выбранного компонента.
list [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>]  вывести все компоненты с категориями.
info <название компонента>              получить информацию о выбранном компоненте.
install <название компонента>          установить выбранный компонент.
remove <название компонента>            удалить выбранный компонент.
status <название компонента>            узнать статус установки компонента (установлен/не установлен).
 
Параметры:
-c, --category <название категории>    вывести список всех компонентов выбранной категории.
 
Опции:
--draft                                выводить черновые компоненты и категории.
-I, --ignore-sections                  игнорировать секции редакции при выводе компонентов.
-L, --ignore-legend                    игнорировать вывод условных обозначений при выводе компонентов.
-g, --graphic-tree                      вывести компоненты и категории в виде дерева с псевдографикой.
-t, --simple-tree                      вывести компоненты и категории в виде простого дерева.
-l, --list                              вывести компоненты и категории в виде списка.
                                        для вывода отображаемых имён можно использовать опцию --show-display-name
                                        (опция используется только в данном представлении вывода компонентов).
--no-update                            не обновлять списки пакетов перед установкой или удалением компонента.
-p, --path-only                        отобразить пути объектов компонентов на D-Bus.
-d, --display-name-only                показать только отображаемые имена компонентов и категорий.
-D, --no-display-name                  скрыть отображаемые имена компонентов и категорий.
-s, --show-display-name                показывать отображаемые имена компонентов и категорий.
-n, --name-only                        отобразить только имена объектов компонентов.
-N, --no-name                          скрыть отображение имён компонентов и категорий.
-i, --installed                        отображать только установленные компоненты.
-u, --uninstalled                      отображать только неустановленные компоненты.
-h, --help                             вызвать справку модуля components.
</pre>
</pre>
==== Примеры использования модуля ====
# Отображение категорий и компонентов.
#* Команда <code>alteratorctl components -g</code> выведет компоненты в виде дерева с псевдографикой:
#: [[Файл:Alteratorctl-components1.png|600px|alteratorctl-components1.png]]
#: В данном случае команда <code>alteratorctl components -g</code> будет аналогичная команде <code>alteratorctl components</code>
#* Команда <code>alteratorctl components -t</code> выводит компоненты в виде простого дерева:
#: [[Файл:Alteratorctl-components2.png|600px|alteratorctl-components2.png]]
#* Команда <code>alteratorctl components -l</code> выводит компоненты в виде списка:
#: [[Файл:Alteratorctl-components3.png|600px|alteratorctl-components3.png]]
#* Также можно вывести список компонентов с отображением их имён, а не только имён объектов при помощи команды <code>alteratorctl components -l —show-display-name</code>:
#: [[Файл:Alteratorctl-components4.png|600px|alteratorctl-components4.png]]
#* Команда <code>alteratorctl components list -p</code> выводит пути объектов компонентов на D-Bus в виде дерева с псевдографикой:
#: [[Файл:Alteratorctl-components5.png|600px|alteratorctl-components5.png]]
# Отображение статусов компонентов.
#* Команда <code>alteratorctl components list -l -i</code> выведет список установленных на данный момент компонентов:
#: [[Файл:Alteratorctl-components9.png|600px|alteratorctl-components9.png]]
#* Команда <code>alteratorctl components list -l -u</code> выведет список не установленных компонентов:
#: [[Файл:Alteratorctl-components6.png|600px|alteratorctl-components6.png]]
# Установка и удаление компонентов.
#* Команда <code>alteratorctl components description</code> samba-dc позволит посмотреть описание компонента samba-dc, а команда <code>alteratorctl components install samba-dc</code> позволит его установить:
#: [[Файл:Alteratorctl-components7.png|600px|alteratorctl-components7.png]]
#* Команда <code>alteratorctl components remove samba-dc</code> позволит удалить компонент samba-dc:
#: [[Файл:Alteratorctl-components8.png|600px|alteratorctl-components8.png]]
=== diag ===
Использует интерфейс <tt>org.altlinux.alterator.diag1</tt> объектов установленных инструментов диагностики.
=== packages ===
Использует интерфейсы <tt>org.altlinux.alterator.rpm1, org.altlinux.alterator.apt1, org.altlinux.alterator.repo</tt> объектов <tt>org/altlinux/alterator/rpm, /org/altlinux/alterator/apt, /org/altlinux/alterator/repo </tt> соответственно.
=== systeminfo ===
Использует интерфейс <tt>org.altlinux.alterator.systeminfo1</tt> объекта <tt>org/altlinux/alterator/systeminfo</tt>.


= Спецификация =
= Спецификация =
Строка 91: Строка 253:


Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров:
Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров:
*указатель на AlteratorCtlApp, в котором зарегистрирован модуль;
* указатель на AlteratorCtlApp, в котором зарегистрирован модуль;
*указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры.
* указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры.


'''Деструктор'''
'''Деструктор'''
Строка 100: Строка 262:
=== Создание контекста модуля ===
=== Создание контекста модуля ===


#'''Метод run_with_args'''
# '''Метод run_with_args'''
#:Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается '''контекст модуля'''. И этот контекст передается в метод run.
#: Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается '''контекст модуля'''. И этот контекст передается в метод run.
#'''Метод run'''
# '''Метод run'''
#:Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией.  
#: Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией.  
#'''Метод print _help'''
# '''Метод print _help'''
#:Выводит в stdout описание команд и параметров командной строки модуля.
#: Выводит в stdout описание команд и параметров командной строки модуля.

Текущая версия от 17:55, 25 марта 2025


Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

alteratorctl — консольное приложение, предназначенное для вызова методов интерфейсов, разработанных в рамках Alterator на D-Bus.

Назначение

Программа ADT предназначена для:

  1. Системных администраторов.
  2. Опытных пользователей.

alteratorctl является компонентом новой реализации проекта Альтератор, Alterator на D-Bus.

Установка

Для установки alteratorctl из задания (таски), воспользуйтесь поиском.

Команды установки

# apt-repo add <номер_задания>
# apt-get update
# apt-get install alteratorctl

Описание модулей

Приложение имеет модульную структуру. Каждый модуль предназначен для работы с определенным интерфейсом объектов на D-Bus. Запуск модулей осуществляется при помощи команды

$ alteratorctl <имя_модуля> <команда_модуля>

Команда $ alteratorctl <имя_модуля> --help отображает возможности модулей.

Посмотреть список модулей можно при помощи команды $ alteratorctl -m:

alteratorctl-editions1.png


В настоящий момент реализовано 6 модулей:

manager

Использует интерфейс org.altlinux.alterator.manager объекта /org/altlinux/alterator.

editions

Использует интерфейс org.altlinux.alterator.edition1 объектов из пакетов с редакциями.

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

Для работы некоторых команд модуля могут потребоваться права администратора.

Информация по редакциям

Редакция — набор компонентов в составе дистрибутива. Каждая редакция содержит индивидуальный набор предустановленных и доступных для установки компонентов.

Список доступных редакций на данный момент:

  1. Альт Сервер (edition_server)
  2. Альт Домен (edition_domain)

Структура редакции

Структура редакции представляется в формате TOML и имеет следующий вид:

type = "Edition"
name = "имя редакции"
display_name.en = "Отображаемое имя редакции на английском"
display_name.ru = "Отображаемое имя редакции на русском"

license = "Имя лицензии/Релиз"
arches = [ "Архитектура 1", "Архитектура 2" ]

desktop_environment = "Графическое окружение"
kflavours = { default = "Версия ядра по умолчанию", options = [ "Версия ядра 1", "Версия ядра 2" ] }
languages = { default = "Язык по умолчанию", options = [ "Язык 1", "Язык 2" ] }

[sections.base]
display_name.en = "Имя базовой секции компонентов, входящих в образ на английском"
display_name.ru = "Имя базовой секции компонентов, входящих в образ на русском"
components = [
    "Компонент 1",
    "Компонент 2",
    "…",
    "Компонент N"
]

[sections.main]
display_name.en = "Имя секции компонентов, доступных к установке на английском"
display_name.ru = "Имя секции компонентов, доступных к установке на русском"
components = [
    "Компонент 1",
    "Компонент 2",
    "…",
    "Компонент N"
]

Использование модуля

Модуль предусматривает использование следующих команд и опций:

Команды:
description [название редакции]         получить описание выбранной редакции.
get                                     получить название текущей редакции.
info [название редакции]                вывести информацию о выбранной редакции.
license [название редакции]             вывести информацию о лицензии выбранной редакции.
list [опции]                            вывести список доступных редакций.
set [название редакции]                 установить выбранную редакцию.

Опции:
-d, --display-name-only                 показать только отображаемые имена редакций.
-D, --no-display-name                   скрыть отображаемые имена редакций.
-p, --path-only                         отобразить пути объектов редакций на D-Bus.
-n, --name-only                         отобразить только имена объектов редакций.
-N, --no-name                           скрыть отображение имён объектов редакций.
-h, --help                              показать справку модуля editions.

Примеры использования модуля

  1. Отображение имени текущей редакции.
    • Команда alteratorctl editions выведет список доступных редакций и покажет текущую:
    alteratorctl-editions2.png
  2. Отображение только имени объекта текущей редакции.
    • Команда alteratorctl editions get покажет имя объекта текущей редакции:
    alteratorctl-editions3.png
  3. Установка выбранной редакции.
    • Команда alteratorctl editions set edition_domain установит редакцию Альт Домен:
    alteratorctl-editions4.png
  4. Получение информации о лицензии выбранной редакции.
    • Команда alteratorctl editions license edition_domain покажет информацию о лицензии редакции Альт Домен:
    alteratorctl-editions5.png
    Конкретно в данном случае вывод команды alteratorctl editions license edition_domain не будет отличаться от вывода команды alteratorctl editions license.

components

Использует интерфейс org.altlinux.alterator.component1 объектов установленных компонентов.

Модуль позволяет:

  • Просматривать список компонентов;
  • Просматривать информацию о компонентах (статус, описание, состав);
  • Устанавливать/удалять компоненты.

Для работы некоторых команд модуля могут потребоваться права администратора.

Информация по компонентам

Компонент — набор пакетов, предоставляющих определённую функциональность, и некоторую последовательность действий (deploy) для их конфигурации.

Структура компонента

Подробнее про состав и структуру компонентов можно прочитать на соответствующей станице alt-components. Также здесь можно прочитать про аналог alteratorctl в виде графического приложения для работы с компонентами — alterator-application-components.

Использование модуля

Модуль предусматривает использование следующих команд и опций:

Формат использования:
alteratorctl components                 вывести все компоненты в виде дерева с псевдографикой.
alteratorctl components [КОМАНДА [аргументы]] [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>]

Команды:
description <название компонента>       получить описание выбранного компонента.
list [ОПЦИИ] [ПАРАМЕТРЫ <аргументы…>]   вывести все компоненты с категориями.
info <название компонента>              получить информацию о выбранном компоненте.
install <название компонента>           установить выбранный компонент.
remove <название компонента>            удалить выбранный компонент.
status <название компонента>            узнать статус установки компонента (установлен/не установлен).

Параметры:
-c, --category <название категории>     вывести список всех компонентов выбранной категории.

Опции:
--draft                                 выводить черновые компоненты и категории.
-I, --ignore-sections                   игнорировать секции редакции при выводе компонентов.
-L, --ignore-legend                     игнорировать вывод условных обозначений при выводе компонентов.
-g, --graphic-tree                      вывести компоненты и категории в виде дерева с псевдографикой.
-t, --simple-tree                       вывести компоненты и категории в виде простого дерева.
-l, --list                              вывести компоненты и категории в виде списка.
                                        для вывода отображаемых имён можно использовать опцию --show-display-name 
                                        (опция используется только в данном представлении вывода компонентов).
--no-update                             не обновлять списки пакетов перед установкой или удалением компонента.
-p, --path-only                         отобразить пути объектов компонентов на D-Bus.
-d, --display-name-only                 показать только отображаемые имена компонентов и категорий.
-D, --no-display-name                   скрыть отображаемые имена компонентов и категорий.
-s, --show-display-name                 показывать отображаемые имена компонентов и категорий.
-n, --name-only                         отобразить только имена объектов компонентов.
-N, --no-name                           скрыть отображение имён компонентов и категорий.
-i, --installed                         отображать только установленные компоненты.
-u, --uninstalled                       отображать только неустановленные компоненты.
-h, --help                              вызвать справку модуля components.

Примеры использования модуля

  1. Отображение категорий и компонентов.
    • Команда alteratorctl components -g выведет компоненты в виде дерева с псевдографикой:
    alteratorctl-components1.png
    В данном случае команда alteratorctl components -g будет аналогичная команде alteratorctl components
    • Команда alteratorctl components -t выводит компоненты в виде простого дерева:
    alteratorctl-components2.png
    • Команда alteratorctl components -l выводит компоненты в виде списка:
    alteratorctl-components3.png
    • Также можно вывести список компонентов с отображением их имён, а не только имён объектов при помощи команды alteratorctl components -l —show-display-name:
    alteratorctl-components4.png
    • Команда alteratorctl components list -p выводит пути объектов компонентов на D-Bus в виде дерева с псевдографикой:
    alteratorctl-components5.png
  2. Отображение статусов компонентов.
    • Команда alteratorctl components list -l -i выведет список установленных на данный момент компонентов:
    alteratorctl-components9.png
    • Команда alteratorctl components list -l -u выведет список не установленных компонентов:
    alteratorctl-components6.png
  3. Установка и удаление компонентов.
    • Команда alteratorctl components description samba-dc позволит посмотреть описание компонента samba-dc, а команда alteratorctl components install samba-dc позволит его установить:
    alteratorctl-components7.png
    • Команда alteratorctl components remove samba-dc позволит удалить компонент samba-dc:
    alteratorctl-components8.png

diag

Использует интерфейс org.altlinux.alterator.diag1 объектов установленных инструментов диагностики.

packages

Использует интерфейсы org.altlinux.alterator.rpm1, org.altlinux.alterator.apt1, org.altlinux.alterator.repo объектов org/altlinux/alterator/rpm, /org/altlinux/alterator/apt, /org/altlinux/alterator/repo соответственно.

systeminfo

Использует интерфейс org.altlinux.alterator.systeminfo1 объекта org/altlinux/alterator/systeminfo.

Спецификация

Документация представлена на странице проекта.

Пример

Опишем типовой внутренний модуль alteratorctl и архитектуру модуля.

Внутренний клиентский модуль - объект класса, реализующего интерфейс AlteratorCtlModuleInterface по принципу, принятому в GLib для объектно-ориентированного программирования.

Интерфейс AlteratorCtlModuleInterface предполагает, что в модуле должны быть реализованы 3 метода:

  • run_with_args - запуск модуля с параметрами командной строки;
  • run - запуск модуля с контекстом;
  • print_help - вывод справки об использовании модуля.

Регистрация модуля

Модуль в alteratorctl необходимо зарегистрировать перед его использованием. Регистрация модуля осуществляется вызовом метода alterator_ctl_register_module() у объекта app типа AlteratorCtlApp в функции main.

В функцию передается указатель на объект типа AlteratorCtlApp, где происходит регистрация, и на структуру типа alterator_ctl_module_t, в которой есть указатели на конструкторы, деструкторы и id модуля.

Id модуля

Id модуля представляет собой указатель на строку, содержащую имя модуля. Именно по имени модуля alteratorctl понимает, какой модуль запустить. Модуль указывается первым после общих ключей alteratorctl в командной строке.

Например,

$ alteratorctl -v manager help

где
* -v - общий для модулей параметр
* manager - имя (id) запускаемого модуля
* help - подкоманда для модуля manager.

Конструктор модуля

Конструктор модуля - функция, возвращающая указатель на AlteratorCtlComponentsModule. Конструктор модуля принимает в виде параметров:

  • указатель на AlteratorCtlApp, в котором зарегистрирован модуль;
  • указатель на структуру типа alteratorctl_arguments_t, которая содержит общие для всех модулей параметры.

Деструктор

Деструктор - функция в структуре alterator_ctl_module_t. Принимает указатель на экземпляр класса внутреннего модуля, ресурсы которого будут освобождены.

Создание контекста модуля

  1. Метод run_with_args
    Этот метод запускает модуль, передавая ему параметры командной строки. Обычно в этом методе происходит парсинг аргументов командной строки, создается контекст модуля. И этот контекст передается в метод run.
  2. Метод run
    Метод run принимает контекст модуля и непосредственно выполняет необходимые запросы на D-Bus. Модуль должен быть выполнен таким образом, чтобы его можно было вызвать из другого модуля при инициализации контекста модуля. После выполнения метода run, контекст необходимо освободить специализированной функцией.
  3. Метод print _help
    Выводит в stdout описание команд и параметров командной строки модуля.