Start / Stop Twitch services and add a common status interface

Twitch services are always running and trying to maintain a connection to the Twitch back end, even when they are not properly configured.

Design a Start / Stop feature for all services with an interface to detect when services are currently running or connected, and when their status changes.

Also rework the API for Twitch credentials and network settings.

  • It only reads from a file, so there is no user-friendly way to change the settings from the client program.
  • Every access is locked behind a mutex, which can probably be avoided.

It could be made so the Twitch OAuth2 service is an explicit dependency of the other services by passing the OAuth2 settings as parameters of Initialize.

Edited by Alexis LE CONTE