Example #1
0
 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)
Example #2
0
 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)
Example #3
0
    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