Пример #1
0
 def subject_factory(scheduler):
     return BehaviorSubject(initial_value)
Пример #2
0
 def action1(scheduler, state=None):
     subject[0] = BehaviorSubject(100)
Пример #3
0
class ServerState():
    """description of class"""
    __metaclass__ = Singleton
    DEVICE_MODE = 'HBS'
    MAC_ADDRESS_HSU = ''
    LINK_STATE = ''
    NUM_OF_LINKS = 0

    monitor_data = None
    SwCapabilities = None

    def setSwCapabilities(self, s):
        self.SwCapabilities = s

    def getSwCapabilities(self):
        self.SwCapabilities

    def setMonitor(self, d):
        self.monitor_data = d

    def getMonitor(self):
        return self.monitor_data

    #this stream will hold all hsu devices on the sector of the HBS
    hsuDevicesSub = BehaviorSubject(None)
    registeredHsusSub = BehaviorSubject({})
    #this stream will hold the local monitor of the device
    monitorSub = BehaviorSubject(None)

    #this stream will hold the local recentEventSub of the device
    recentEventSub = BehaviorSubject(None)

    #api data stream
    systemSub = BehaviorSubject(None)
    deviceModeSub = BehaviorSubject(None)
    radioSub = BehaviorSubject(None)
    networkSub = BehaviorSubject(None)
    portsSub = BehaviorSubject(None)
    wifiSub = BehaviorSubject(None)

    #events streams
    onFlushingLogsSub = BehaviorSubject(None)

    #dispath method will use to update data on the observer
    def dispath(self, observer_name, payload):
        if observer_name == consts.MONITOR_SUB:
            self.monitorSub.on_next(payload)
            return payload
        elif observer_name == consts.SYSTEM_SUB:
            self.systemSub.on_next(payload)
            return payload
        #elif observer_name == consts.DEVICE_MODE_SUB:
        #    self.deviceModeSub.on_next(payload)
        #    return payload
        elif observer_name == consts.RADIO_SUB:
            self.radioSub.on_next(payload)
            return payload
        elif observer_name == consts.PORT_SUB:
            self.portsSub.on_next(payload)
            return payload
        elif observer_name == consts.WIFI_SUB:
            self.wifiSub.on_next(payload)
            return payload
        elif observer_name == consts.HSU_DEVICES_SUB:
            self.hsuDevicesSub.on_next(payload)
            return payload
        elif observer_name == consts.REGISTERED_HSU_SUB:
            self.registeredHsusSub.on_next(payload)
            return payload
        elif observer_name == consts.FLUSH_LOG_SUB:
            self.onFlushingLogsSub.on_next(payload)
            return payload
        else:
            print observer_name + ' is not recognize observable.'
            return None

    #select method will use to get observerable
    def select(self, observer_name):
        if observer_name == consts.MONITOR_SUB:
            return self.monitorSub
        elif observer_name == 'network':
            return self.networkSub
        elif observer_name == consts.SYSTEM_SUB:
            return self.systemSub
        #elif observer_name == consts.DEVICE_MODE_SUB:
        #   return self.deviceModeSub
        elif observer_name == consts.RADIO_SUB:
            return self.radioSub
        elif observer_name == consts.PORT_SUB:
            return self.portsSub
        elif observer_name == consts.WIFI_SUB:
            return self.wifiSub
        elif observer_name == consts.NETWORK_SUB:
            return self.wifiSub
        elif observer_name == consts.HSU_DEVICES_SUB:
            return self.hsuDevicesSub
        elif observer_name == consts.REGISTERED_HSU_SUB:
            return self.registeredHsusSub
        elif observer_name == consts.FLUSH_LOG_SUB:
            return self.onFlushingLogsSub
        else:
            print observer_name + ' is not recognize observable.'
            return None

    def getDeviceMode(self):
        return self.DEVICE_MODE

    def setDeviceMode(self, mode):
        self.DEVICE_MODE = mode

    def getMacAdressHsu(self):
        return self.MAC_ADDRESS_HSU

    def setMacAdressHsu(self, address):
        self.MAC_ADDRESS_HSU = address

    @classmethod
    def setNumOfLinks(self, number):
        self.NUM_OF_LINKS = number

    @classmethod
    def getNumOfLinks(self):
        return self.NUM_OF_LINKS
Пример #4
0
 def __init__(self, parent=None):
     super().__init__(parent)
     self._commandSubject = BehaviorSubject(kine.Command.arc(0, 0))
Пример #5
0
 def subject_selector():
     return BehaviorSubject(initial_value)
Пример #6
0
 def __init__(self):
     self.data: Subject = Subject()
     self.threats: BehaviorSubject = BehaviorSubject(0)
Пример #7
0
 def rxValue(self, subj, pred, default):  # -> BehaviorSubject:
     value = BehaviorSubject(default)
     self._rxValues[value] = (subj, pred, default)
     self._rxUpdate(subj, pred, default, value)
     return value
 def action1(scheduler, state=None):
     nonlocal subject
     subject = BehaviorSubject(100)