Source code for libretro.drivers.path.driver

""":class:`~typing.Protocol` definition for drivers that expose path information to a core."""

from abc import abstractmethod
from typing import Protocol, runtime_checkable


[docs] @runtime_checkable class PathDriver(Protocol): """Interface for a driver that defines various paths exposed to libretro cores.""" @property @abstractmethod def system_dir(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_SYSTEM_DIRECTORY`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY`` should return ``false``. """ ... @property @abstractmethod def libretro_path(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_LIBRETRO_PATH`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_LIBRETRO_PATH`` should return ``false``. """ ... @property @abstractmethod def core_assets_dir(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_CORE_ASSETS_DIRECTORY`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_CORE_ASSETS_DIRECTORY`` should return ``false``. """ ... @property @abstractmethod def save_dir(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_SAVE_DIRECTORY`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_SAVE_DIRECTORY`` should return ``false``. """ ... @property @abstractmethod def playlist_dir(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_PLAYLIST_DIRECTORY`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_PLAYLIST_DIRECTORY`` should return ``false``. """ ... @property @abstractmethod def file_browser_start_dir(self) -> bytes | None: """ Corresponds to :py:attr:`.EnvironmentCall.GET_FILE_BROWSER_START_DIRECTORY`. If :py:obj:`None`, a core's call to ``RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY`` should return ``false``. """ ...
__all__ = [ "PathDriver", ]