def disconnect(self): self.state = MultimodalDevice.MMDevice_Disconnecting record = FieldFactory.fieldFromCodeList("LLLI") record[0].set(self.UCID) record[1].set(self.deviceID) record[2].set(0xF0000006L) # EventID for disconnection record[3].set(0) self.server.sendFields(None, record)
def register(self): self.state = MultimodalDevice.MMDevice_Registering #MMArrayField fProduces, fConsumes; record = FieldFactory.fieldFromCodeList("LLLAAs") record[0].set(self.UCID) record[1].set(self.deviceID) record[2].set(0xF0000000L) # EventID record[3].copyLongVector(self.produces) record[4].copyLongVector(self.consumes) record[5].set(self.name) # Device Name self.server.sendFields(None, record)
def confirmSubscription(self, command): record = FieldFactory.fieldFromCodeList("LLLLAAL") fProduces = record[4] fConsumes = record[5] try: FieldFactory.readFields(record, command.dataIn) self.deviceId = command.mDeviceID.get() self.UCID = record[3].get() for x in fProduces.elements: self.clients.addOrUpdate(x, self.UCID) # Add eventID - UCID to producers list for x in fConsumes.elements: self.suppliers.addOrUpdate(x, self.UCID) # Add eventID - UCID to consumers list self.state = MultimodalDevice.MMDevice_Registered except Exception: raise finally: record = None fProduces = None fConsumes = None