Warning, /sdk/cutehmi/extensions/CuteHMI/Services.3/README.md is written in an unsupported language. File is not indexed.

0001 # Services
0002 
0003 ![Development status](doc/status-beta.svg)
0004 
0005 Extension that helps to create services. Many extensions may need to behave like services or daemons, doing their tasks in the
0006 background, independently from UI. This extension helps to organize and coordinate them.
0007 
0008 Services work on the basis of [The State Machine Framework](https://doc.qt.io/qt-6/qtstatemachine-cpp-guide.html). Each service is
0009 controlled by its own state machine. This state machine is composed of some standard, predefined states commonly referred as
0010 _state interface_. The details of actions performed in those state, as well as some of the transitions, are a subject of
0011 cutehmi::services::Serviceable implementation.
0012 
0013 ![State interface](doc/standard_states.png)
0014 
0015 ## Major classes
0016 
0017 Each object that wants to become a service either extends cutehmi::services::AbstractService or implements 
0018 cutehmi::services::Serviceable interface. In order to turn object that implements cutehmi::services::Serviceable interface into a 
0019 service one has to embed it inside cutehmi::services::Service object.
0020 
0021 Class cutehmi::services::SelfService can be used to define the service in QML without the need of using C++ API. 
0022 
0023 Class cutehmi::services::ServiceGroup can be used to conveniently manage a group of services.
0024 
0025 Service operations can be managed by controllers (descendants of cutehmi::services::AbstractServiceController) and group rules
0026 (descendants of cutehmi::services::ServiceGroupRule).
0027 
0028 ## Related pages
0029 
0030 - [CHANGES](CHANGES.md)