D-Bus, Aurora Bot
Приложение Aurora Bot имеет D-Bus интерфейс. В нем 128 методов и сигнал для отслеживания состояния выполнения. Сервис D-Bus предоставляет интерфейс для других приложений, применяя его в своих приложениях можно значительно упростить реализацию своей задачи. Также это позволяет иметь один центр по управлению инфраструктурой, что позволяет минимизировать количество всевозможных ошибок и быструю реакцию на них.
На интерфейсе D-Bus реализовано графическое приложение Aurora Toolbot, которое имеет полный функционал приложения Aurora Bot.
Selector
Приложение реализует интерфейс D-Bus с выбором вариантов.
Эта логика работает для всех интерфейсов: CLI, WebSocket, D-Bus.
Если вариантов нет, будет выполнен метод, но если приложением были найдены варианты, будет возвращен объект Selector
.
Это позволяет предоставить выбор пользователю:
FlutterInfo
Получить информацию об установленных Flutter SDK.
gdbus call --timeout=99999 --session \
--object-path /api \
--dest com.keygenqt.aurora_bot.toolbot \
--method com.keygenqt.aurora_bot.FlutterInfo
{
"key": "Selector",
"jsonData": {
"key": "FlutterInfo",
"variants": [
{
"name": "Flutter SDK: 3.27.3",
"incoming": {
"id": "e39a139f3fd37169dd2b220ec1af834d"
}
},
{
"name": "Flutter SDK: 3.0.0",
"incoming": {
"id": "b21d3005a1b910452574786ce044084c"
}
}
]
}
}
FlutterInfoById
Получить информацию об установленном Flutter SDK по ID.
gdbus call --timeout=99999 --session \
--object-path /api \
--dest com.keygenqt.aurora_bot.toolbot \
--method com.keygenqt.aurora_bot.FlutterInfoById \
"e39a139f3fd37169dd2b220ec1af834d"
{
"key": "FlutterInfo",
"jsonData": {
"model": {
"id": "e39a139f3fd37169dd2b220ec1af834d",
"dir": "/home/keygenqt/.local/opt/flutter_aurora_3.27.3/flutter_aurora",
"flutter": "/home/keygenqt/.local/opt/flutter_aurora_3.27.3/flutter_aurora/bin/flutter",
"dart": "/home/keygenqt/.local/opt/flutter_aurora_3.27.3/flutter_aurora/bin/dart",
"flutter_version": "3.27.3",
"tools_version": "2.40.2",
"dart_version": "3.6.1"
}
}
}