"""Arma 3 adapter — composes all Arma 3 capability implementations.""" from adapters.arma3.config_generator import Arma3ConfigGenerator from adapters.arma3.process_config import Arma3ProcessConfig # Capabilities enabled so far (add more as phases complete) _CAPABILITIES = { "config_generator", "process_config", "log_parser", "remote_admin", "ban_manager", "mission_manager", "mod_manager", } class Arma3Adapter: game_type = "arma3" display_name = "Arma 3" version = "1.0.0" def get_config_generator(self): return Arma3ConfigGenerator() def get_process_config(self): return Arma3ProcessConfig() def get_log_parser(self): from adapters.arma3.log_parser import RPTParser return RPTParser() def get_remote_admin(self): """Return the RemoteAdmin factory for Arma3 BattlEye RCon.""" from adapters.arma3.remote_admin import Arma3RemoteAdminFactory return Arma3RemoteAdminFactory() def get_mission_manager(self, server_id: int | None = None): from adapters.arma3.mission_manager import Arma3MissionManager return Arma3MissionManager(server_id=server_id) def get_mod_manager(self, server_id: int | None = None): from adapters.arma3.mod_manager import Arma3ModManager return Arma3ModManager(server_id=server_id) def get_ban_manager(self, server_id: int | None = None): from adapters.arma3.ban_manager import Arma3BanManager return Arma3BanManager(server_id=server_id) def has_capability(self, name: str) -> bool: return name in _CAPABILITIES def get_additional_routers(self) -> list: return [] def get_custom_thread_factories(self) -> list: return [] ARMA3_ADAPTER = Arma3Adapter()