1class ActionContext(object): 2 """ 3 Provides the dependencies actions might need to execute. 4 """ 5 def __init__(self, 6 cfm_facade=None, 7 file_contents_collector=None, 8 host=None, 9 usb_device_collector=None, 10 usb_port_manager=None, 11 crash_detector=None): 12 """ 13 Initializes. 14 15 Parameters are set to None by default to make it easier to provide 16 a subset of dependencies in tests. 17 18 @param cfm_facade CFM facade to use, an instance of 19 CFMFacadeRemoteAdapter. 20 @param file_contents_collector object with a 21 collect_file_contents(file_name) method to get file contents 22 from the specified file on the DUT. 23 @param host an Host instance. 24 @param usb_device_collecor a UsbDeviceCollector instance. 25 @param usb_port_manager a UsbPortManager instance. 26 @param crash_detector a CrashDetector instance. 27 """ 28 self.cfm_facade = cfm_facade 29 self.file_contents_collector = file_contents_collector 30 # TODO(kerl) consider using a facade to the Host to only provide an 31 # interface with what we need. 32 self.host = host 33 self.usb_device_collector = usb_device_collector 34 self.usb_port_manager = usb_port_manager 35 self.crash_detector = crash_detector 36 37