def __init__(self, conn): super().__init__(conn) self.dsp = None self.dspLock = threading.Lock() self.sdr = None self.configSubs = [] self.bookmarkSub = None self.connectionProperties = {} try: ClientRegistry.getSharedInstance().addClient(self) except TooManyClientsException: self.write_backoff_message("Too many clients") self.close() raise self.setupGlobalConfig() self.stack = self.setupStack() self.setSdr() features = FeatureDetector().feature_availability() self.write_features(features) modes = Modes.getModes() self.write_modes(modes) self.configSubs.append(SdrService.getActiveSources().wire( self._onSdrDeviceChanges)) self.configSubs.append(SdrService.getAvailableProfiles().wire( self._sendProfiles)) self._sendProfiles() CpuUsageThread.getSharedInstance().add_client(self)
def _sendProfiles(self, *args): profiles = [{ "id": pid, "name": name } for pid, name in SdrService.getAvailableProfiles().items()] self.write_profiles(profiles)