コード例 #1
0
ファイル: upnpmapper.py プロジェクト: hj91/cspace
    def _initialize(self):
        class Dummy:
            pass

        obj = Dummy()

        def onError():
            self.sm.removeCallback(callbackId)
            self.sm.change(self.CLOSED)

        def onDiscover(device):
            if device is None:
                onError()
                return
            self.device = device
            obj.op = UPnpActions.getExternalIP(device, self.reactor,
                                               onExternalIP)

        def onExternalIP(externalIP):
            if externalIP is None:
                onError()
                return
            self.externalIP = externalIP
            self.sm.removeCallback(callbackId)
            self.sm.change(self.READY)

        self.sm.change(self.INITIALIZING)
        obj.op = UPnpActions.findDevice(self.reactor, onDiscover)
        callbackId = self.sm.insertCallback(lambda: obj.op.cancel(),
                                            src=self.INITIALIZING,
                                            single=True)
コード例 #2
0
ファイル: upnpmapper.py プロジェクト: hj91/cspace
 def onDiscover(device):
     if device is None:
         onError()
         return
     self.device = device
     obj.op = UPnpActions.getExternalIP(device, self.reactor,
                                        onExternalIP)
コード例 #3
0
ファイル: upnpmapper.py プロジェクト: rep-movsd/cspace
    def _initialize(self):
        class Dummy:
            pass

        obj = Dummy()

        def onError():
            self.sm.removeCallback(callbackId)
            self.sm.change(self.CLOSED)

        def onDiscover(device):
            if device is None:
                onError()
                return
            self.device = device
            obj.op = UPnpActions.getExternalIP(device, self.reactor, onExternalIP)

        def onExternalIP(externalIP):
            if externalIP is None:
                onError()
                return
            self.externalIP = externalIP
            self.sm.removeCallback(callbackId)
            self.sm.change(self.READY)

        self.sm.change(self.INITIALIZING)
        obj.op = UPnpActions.findDevice(self.reactor, onDiscover)
        callbackId = self.sm.insertCallback(lambda: obj.op.cancel(), src=self.INITIALIZING, single=True)
コード例 #4
0
ファイル: upnpmapper.py プロジェクト: rep-movsd/cspace
 def doAttempt():
     if obj.attempt == 3:
         obj.op.notify(None)
         return
     obj.attempt += 1
     obj.externalPort = randint(10000, 20000)
     desc = "CSpace_t%d" % int(time())
     obj.addOp = UPnpActions.addMapping(
         self.device, obj.externalPort, "TCP", localPort, localIP, desc, self.reactor, onAdd
     )
     obj.callbackId = self.sm.insertCallback(onAbort, src=self.READY, single=True)
     obj.op.setCanceler(onCancel)
コード例 #5
0
ファイル: upnpmapper.py プロジェクト: hj91/cspace
 def doAttempt():
     if obj.attempt == 3:
         obj.op.notify(None)
         return
     obj.attempt += 1
     obj.externalPort = randint(10000, 20000)
     desc = 'CSpace_t%d' % int(time())
     obj.addOp = UPnpActions.addMapping(self.device, obj.externalPort,
                                        'TCP', localPort, localIP, desc,
                                        self.reactor, onAdd)
     obj.callbackId = self.sm.insertCallback(onAbort,
                                             src=self.READY,
                                             single=True)
     obj.op.setCanceler(onCancel)
コード例 #6
0
ファイル: upnpmapper.py プロジェクト: hj91/cspace
 def onCleanup():
     self.cleaningupCount += 1
     UPnpActions.delMapping(self.device, obj.externalPort, 'TCP',
                            self.reactor, onDelMapping)
コード例 #7
0
ファイル: upnpmapper.py プロジェクト: rep-movsd/cspace
 def onDiscover(device):
     if device is None:
         onError()
         return
     self.device = device
     obj.op = UPnpActions.getExternalIP(device, self.reactor, onExternalIP)
コード例 #8
0
ファイル: upnpmapper.py プロジェクト: rep-movsd/cspace
 def onCleanup():
     self.cleaningupCount += 1
     UPnpActions.delMapping(self.device, obj.externalPort, "TCP", self.reactor, onDelMapping)