class AppRoot(ExportedState): def __init__(self, devices, audio_config, features): self.__receive_flowgraph = Top( devices=devices, audio_config=audio_config, features=features) # TODO: only one session while we sort out other things self.__session = Session( receive_flowgraph=self.__receive_flowgraph, features=features) @exported_block() def get_receive_flowgraph(self): # TODO needs to go away return self.__receive_flowgraph @exported_block(persists=True) def get_devices(self): """Return all existant devices. This exists only for persistence purposes. """ return self.__receive_flowgraph.get_sources() # TODO: should become something more like 'create new session' def get_session(self): return self.__session def close_all_devices(self): self.__receive_flowgraph.close_all_devices()
class AppRoot(ExportedState): def __init__(self, devices, audio_config, features): self.__receive_flowgraph = Top(devices=devices, audio_config=audio_config, features=features) # TODO: only one session while we sort out other things self.__session = Session(receive_flowgraph=self.__receive_flowgraph, features=features) @exported_block() def get_receive_flowgraph(self): # TODO needs to go away return self.__receive_flowgraph @exported_block(persists=True) def get_devices(self): """Return all existant devices. This exists only for persistence purposes. """ return self.__receive_flowgraph.get_sources() # TODO: should become something more like 'create new session' def get_session(self): return self.__session def close_all_devices(self): self.__receive_flowgraph.close_all_devices()
def test_close(self): l = set() top = Top(devices={'m': Device( rx_driver=ShutdownMockDriver(l, 'rx'), tx_driver=ShutdownMockDriver(l, 'tx'), components={'c': ShutdownMockDriver(l, 'c')})}) top.close_all_devices() # TODO: Add support for closing non-driver components (making this set [rx,tx,c]). self.assertEqual(l, set(['rx', 'tx']))
def test_close(self): l = set() top = Top( devices={ 'm': Device(rx_driver=ShutdownMockDriver(l, 'rx'), tx_driver=ShutdownMockDriver(l, 'tx'), components={'c': ShutdownMockDriver(l, 'c')}) }) top.close_all_devices() # TODO: Add support for closing non-driver components (making this set [rx,tx,c]). self.assertEqual(l, set(['rx', 'tx']))
def test_close(self): l = [] top = Top( devices={ 'm': merge_devices([ simulate.SimulatedDevice(), Device(components={'c': _DeviceShutdownDetector(l)}) ]) }) top.close_all_devices() self.assertEqual(l, ['close'])
class AppRoot(ExportedState): def __init__(self, **kwargs): # TODO: don't just forward args, do something more sensible, or take as args self.__receive_flowgraph = Top(**kwargs) # TODO: only one session while we sort out other things self.__session = Session(self.__receive_flowgraph) @exported_block() def get_receive_flowgraph(self): return self.__receive_flowgraph # TODO: should become something more like 'create new session' def get_session(self): return self.__session def close_all_devices(self): self.__receive_flowgraph.close_all_devices()