# -*- coding: utf-8 -*- """ Enumerationen für das Service-System. Definiert Prioritäten, Gruppen und Zustände für Services. """ from enum import IntEnum, auto class ServicePriority(IntEnum): """ Priorität eines Services für die Startreihenfolge. Services mit höherer Priorität (niedrigerer Wert) werden zuerst gestartet. """ CRITICAL = 0 # Kritische Systemkomponenten (Logging, Config) CORE = 10 # Kernkomponenten (EventManager, etc.) NETWORK = 20 # Netzwerk-Services (Sockets, Protokoll) MANAGER = 30 # Manager-Services (Satellite, Plugin) PLUGIN = 40 # Plugin-Services OPTIONAL = 50 # Optionale Services class ServiceGroup(IntEnum): """ Gruppierung von Services für Organisation und Filterung. """ CRITICAL = auto() # Kritische Systemdienste NETWORK = auto() # Netzwerk-bezogene Dienste MANAGER = auto() # Verwaltungsdienste AUDIO = auto() # Audio-Verarbeitung ML = auto() # Machine Learning UTILITY = auto() # Hilfsdienste PLUGIN = auto() # Plugin-Dienste CONVERSATION = auto() # Dialog/Konversations-Dienste SCHEDULER = auto() # Scheduling/Cron-Dienste class ServiceState(IntEnum): """ Aktueller Zustand eines Services. """ STOPPED = auto() # Service ist gestoppt STARTING = auto() # Service wird gestartet RUNNING = auto() # Service läuft STOPPING = auto() # Service wird gestoppt FAILED = auto() # Service ist fehlgeschlagen