Skip to content

Latest commit

 

History

History
79 lines (48 loc) · 4.23 KB

File metadata and controls

79 lines (48 loc) · 4.23 KB
graph LR
    PlugManager["PlugManager"]
    BasePlug["BasePlug"]
    UsbPlugs["UsbPlugs"]
    DeviceWrappingPlugs["DeviceWrappingPlugs"]
    UserInputPlugs["UserInputPlugs"]
    PlugManager -- "manages" --> BasePlug
    UsbPlugs -- "extends" --> BasePlug
    DeviceWrappingPlugs -- "extends" --> BasePlug
    UserInputPlugs -- "extends" --> BasePlug
Loading

CodeBoardingDemoContact

Details

The Hardware Abstraction & Plugs subsystem provides a flexible and extensible interface for interacting with diverse hardware devices and external systems. It abstracts the complexities of direct hardware communication, enabling tests to interact with devices through a standardized, plug-in based mechanism.

PlugManager

The central orchestrator responsible for managing the lifecycle of all hardware abstraction plugs. This includes their instantiation, initialization, and teardown during a test run, acting as the primary registry and coordinator for plug instances.

Related Classes/Methods:

  • openhtf.plugs.PlugManager (1:1)

BasePlug

The foundational abstract class for all hardware abstraction plugs. It defines the common interface and core functionalities that all concrete plugs must implement, ensuring a standardized interaction mechanism for tests with diverse hardware and external systems.

Related Classes/Methods:

UsbPlugs

A comprehensive collection of specialized plugs and utilities designed for interacting with USB-connected devices. This includes high-level implementations for ADB (Android Debug Bridge) and Fastboot protocols, as well as underlying USB communication mechanisms, file synchronization, and shell services.

Related Classes/Methods:

  • openhtf.plugs.usb (1:1)
  • openhtf.plugs.usb.AdbPlug (1:1)
  • openhtf.plugs.usb.FastbootPlug (1:1)
  • openhtf.plugs.usb.adb_device
  • openhtf.plugs.usb.fastboot_device
  • openhtf.plugs.usb.filesync_service
  • openhtf.plugs.usb.shell_service
  • openhtf.plugs.usb.usb_exceptions (1:1)

DeviceWrappingPlugs

Provides mechanisms to seamlessly integrate existing device drivers or external libraries into OpenHTF as standardized plugs. It acts as an adapter, allowing third-party hardware control to conform to the BasePlug interface without requiring extensive re-implementation.

Related Classes/Methods:

UserInputPlugs

Facilitates interactive communication with the test operator during test execution. This plug enables tests to prompt for user input, display messages, or request confirmations, often integrating with a web-based frontend or console for interaction.

Related Classes/Methods: