gnss/gnss/api/state.py
2025-12-18 17:47:37 +05:00

45 lines
1.4 KiB
Python

from typing import Optional
from ..services.gnss import GNSSService
from ..services.logs import LogService
from ..services.tiles import TileService
from ..services.vector_mbtiles import VectorMBTilesService
_gnss_service: Optional[GNSSService] = None
_tile_service: Optional[TileService] = None
_log_service: Optional[LogService] = None
_vector_mbtiles_service: Optional[VectorMBTilesService] = None
def set_services(
gnss: GNSSService, tiles: TileService, logger: LogService, vector_mbtiles: VectorMBTilesService
) -> None:
global _gnss_service, _tile_service, _log_service, _vector_mbtiles_service
_gnss_service = gnss
_tile_service = tiles
_log_service = logger
_vector_mbtiles_service = vector_mbtiles
def get_gnss_service() -> GNSSService:
if _gnss_service is None:
raise RuntimeError("GNSS service is not initialized")
return _gnss_service
def get_tile_service() -> TileService:
if _tile_service is None:
raise RuntimeError("Tile service is not initialized")
return _tile_service
def get_log_service() -> LogService:
if _log_service is None:
raise RuntimeError("Log service is not initialized")
return _log_service
def get_vector_mbtiles_service() -> VectorMBTilesService:
if _vector_mbtiles_service is None:
raise RuntimeError("Vector MBTiles service is not initialized")
return _vector_mbtiles_service