X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/aa4989974a32ab2437d51fb6352b3eb54cecd83d..383c9761ac7d46d178bd4344beec854428596893:/lib/python/Plugins/Plugin.py diff --git a/lib/python/Plugins/Plugin.py b/lib/python/Plugins/Plugin.py index 2c8d9296..b01b9b8f 100644 --- a/lib/python/Plugins/Plugin.py +++ b/lib/python/Plugins/Plugin.py @@ -1,4 +1,7 @@ from enigma import loadPNG +from Components.config import ConfigSubsection, config + +config.plugins = ConfigSubsection() class PluginDescriptor: """An object to describe a plugin.""" @@ -14,13 +17,13 @@ class PluginDescriptor: # you have to ignore unknown kwargs! # argument: session - WHERE_BLUEMENU = 0 + WHERE_EXTENSIONSMENU = 0 WHERE_MAINMENU = 1 WHERE_PLUGINMENU = 2 # argument: session, serviceref (currently selected) WHERE_MOVIELIST = 3 - # ... - WHERE_SETUP = 4 + # argument: menuid. Fnc must return list with menuitems (4-tuple of name, fnc to call, entryid or None, weight or None) + WHERE_MENU = 4 # reason (0: start, 1: end) WHERE_AUTOSTART = 5 @@ -28,6 +31,20 @@ class PluginDescriptor: # start as wizard. In that case, fnc must be a screen class! WHERE_WIZARD = 6 + # like autostart, but for a session. currently, only session starts are + # delivered, and only on pre-loaded plugins + WHERE_SESSIONSTART = 7 + + # start as teletext plugin. arguments: session, serviceref + WHERE_TELETEXT = 8 + + # file-scanner, fnc must return a list of Scanners + WHERE_FILESCAN = 9 + + # fnc must take an interface name as parameter and return None if the plugin supports an extended setup + # 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): self.name = name if type(where) is list: