Services
Сервисы - приложения, автоматически управляемые платформой и выполняющиеся вне зависимости от пользовательских приложений Создаются и выполняются в рамках специального системного домена (SvcDomain) Чтобы запускаться в качестве сервиса, приложение должно быть потомком класса AbstractService, а также иметь запись в конфиге в разделе "services":
[
..........
{
"name": "Dummy",
"displayName": "Dummy service",
"type": "Services.DummyService",
"description": "Dummy service for dummy device",
"startup": "lazy",
"settings: {...}
},
..........
]
- name - идентификатор сервиса, по которому можно получить к нему доступ
- displayName - название, показывается в менеджере сервисов (WIP)
- type - инстанциируемый класс сервиса
- description - короткое описание, показывается в менеджере сервисов
-
startup - тип запуска, может быть:
- always - запуск при старте платформы
- lazy - запуск при первом обращении
- never - отключен и не может быть запущен
- settings - этот объект будет передан инстансу сервиса
При работе через SvcDomain гарантируется создание и исполнение единственного экземпляра приложения
Взаимодействие
Приложения обязаны реализовывать методы start и stop, а также уведомлять домен событиями started, stopped
Для взаимодействия с сервисом сторонние приложения могут вызвать метод *Domain.SvcDomain.startService(string serviceName): AbstractServiceWrapper *
Service manager
coming soon