class ActionContext(object): | |
""" | |
Provides the dependencies actions might need to execute. | |
""" | |
def __init__(self, | |
cfm_facade=None, | |
file_contents_collector=None, | |
host=None, | |
usb_device_collector=None, | |
usb_port_manager=None, | |
crash_detector=None, | |
perf_metrics_collector=None, | |
bond_api=None): | |
""" | |
Initializes. | |
Parameters are set to None by default to make it easier to provide | |
a subset of dependencies in tests. | |
@param cfm_facade CFM facade to use, an instance of | |
CFMFacadeRemoteAdapter. | |
@param file_contents_collector object with a | |
collect_file_contents(file_name) method to get file contents | |
from the specified file on the DUT. | |
@param host an Host instance. | |
@param usb_device_collecor a UsbDeviceCollector instance. | |
@param usb_port_manager a UsbPortManager instance. | |
@param crash_detector a CrashDetector instance. | |
@param perf_metrics_collector a PerfMetricsCollector instance. | |
@param bond_api a BondHttpApi instance | |
""" | |
self.cfm_facade = cfm_facade | |
self.file_contents_collector = file_contents_collector | |
# TODO(kerl) consider using a facade to the Host to only provide an | |
# interface with what we need. | |
self.host = host | |
self.usb_device_collector = usb_device_collector | |
self.usb_port_manager = usb_port_manager | |
self.crash_detector = crash_detector | |
self.perf_metrics_collector = perf_metrics_collector | |
self.bond_api = bond_api | |
self.bots_meeting_code = None |