Пример #1
0
    def add_verb2(self,
                  label,
                  schema,
                  callback=None,
                  create_action=None,
                  destroy_action=None,
                  clock=False,
                  status_action=None,
                  need_interp=False):
        #action.check_verb_schema(schema)

        assert label not in self.__verblist

        s = VerbEntry()
        s.schema = 'v(%d,%s)' % (label, schema)
        s.callback = utils.weaken(callback)
        s.clock = clock
        s.need_interp = need_interp
        s.create_action = utils.weaken(create_action)
        s.destroy_action = utils.weaken(destroy_action)
        s.status_action = utils.weaken(status_action)

        self.__verblist[label] = s
        self.set_property_string(
            'verbs',
            ','.join([s.schema for s in self.__verblist.itervalues()]))
Пример #2
0
 def __init__(self, container, tag, asserted=None, retracted=None):
     self.__container = container
     self.__tag = tag
     self.__asserted = utils.weaken(asserted or self.state_asserted)
     self.__retracted = utils.weaken(retracted or self.state_retracted)
     self.__nodes = {}
     self.__container.add_listener(self.__listener)
     self.__set_termlist()
Пример #3
0
    def add_mode2(self,
                  label,
                  schema,
                  icallback,
                  qcallback,
                  ccallback,
                  acallback=None):
        #action.check_mode_schema(schema)

        assert label not in self.__modelist

        s = ModeEntry()
        s.schema = 'v(%d,%s)' % (label, schema)
        s.icallback = utils.weaken(icallback)
        s.ccallback = utils.weaken(ccallback)
        s.qcallback = utils.weaken(qcallback)
        s.acallback = utils.weaken(acallback)

        self.__modelist[label] = s
        self.set_property_string(
            'modes',
            ','.join([s.schema for s in self.__modelist.itervalues()]))
Пример #4
0
 def __init__(self,
              atom,
              data_domain,
              init,
              transient,
              handler,
              stream_policy=None,
              clock=False):
     self.__stream_policy = stream_policy or ThrottleStreamPolicy(500)
     self.__handler = utils.weaken(handler)
     self.__clock_domain = piw.clockdomain_ctl()
     self.__clock_domain.set_source(piw.makestring('*', 0L))
     ConnectablePolicyImpl.__init__(self, atom, data_domain, init, clock,
                                    node.Server(transient=transient), False)
     self.data_node().set_change_handler(self.__slow_handler)
     self.data_node().set_data(self.get_domain().value2data(init))
Пример #5
0
 def __init__(self,
              atom,
              data_domain,
              init,
              transient,
              handler,
              stream_policy=None,
              clock=False):
     self.__stream_policy = stream_policy or ThrottleStreamPolicy(500)
     self.__handler = utils.weaken(handler)
     self.__clock_domain = piw.clockdomain_ctl()
     self.__clock_domain.set_source(piw.makestring('*', 0L))
     self.__backend = None
     self.__correlator = None
     self.__ctrl = None
     ConnectablePolicyImpl.__init__(
         self, atom, data_domain, init, clock,
         LoadPolicyNode(self.__handler, transient), False)
     self.data_node().set_data(self.get_domain().value2data(init))
Пример #6
0
 def add_atom(self, label, c, d, k, s):
     self.__atomlist[label] = (utils.weaken(c), utils.weaken(d),
                               utils.weaken(k), utils.weaken(s))