# reason (0: start, 1: end)
WHERE_AUTOSTART = 5
- # start as wizard. In that case, fnc must be a screen class!
+ # start as wizard. In that case, fnc must be tuple (priority,class) with class being a screen class!
WHERE_WIZARD = 6
# like autostart, but for a session. currently, only session starts are
# or return a function which is called with session and the interface name for extended setup of this interface
WHERE_NETWORKSETUP = 10
- def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None):
+ # show up this plugin (or a choicebox with all of them) for long INFO keypress
+ # or return a function which is called with session and the interface name for extended setup of this interface
+ WHERE_EVENTINFO = 11
+
+ def __init__(self, name = "Plugin", where = [ ], description = "", icon = None, fnc = None, wakeupfnc = None, internal = False):
self.name = name
+ self.internal = internal
if type(where) is list:
self.where = where
else:
else:
self.icon = icon
+ self.wakeupfnc = wakeupfnc
+
self.__call__ = fnc
def updateIcon(self, path):
else:
self.icon = None
+ def getWakeupTime(self):
+ return self.wakeupfnc and self.wakeupfnc() or -1
+
def __eq__(self, other):
return self.__call__ == other.__call__