Source code for libdebug.interfaces.interface_helper
#
# This file is part of libdebug Python library (https://github.com/libdebug/libdebug).
# Copyright (c) 2023-2024 Roberto Alessandro Bertolini. All rights reserved.
# Licensed under the MIT license. See LICENSE file in the project root for details.
#
from libdebug.interfaces.debugging_interface import DebuggingInterface
from libdebug.interfaces.interfaces import AvailableInterfaces
from libdebug.ptrace.ptrace_interface import PtraceInterface
[docs]
def provide_debugging_interface(
interface: AvailableInterfaces = AvailableInterfaces.PTRACE,
) -> DebuggingInterface:
"""Returns an instance of the debugging interface to be used by the `_InternalDebugger` class."""
match interface:
case AvailableInterfaces.PTRACE:
return PtraceInterface()
case _:
raise NotImplementedError(f"Interface {interface} not available.")