create global (real) config entries, update setup on hotplug (untested), fix apply...
[enigma2.git] / lib / python / Plugins / Plugin.py
index de3ec4f06ecac0cb8a6b26c28f10354df9780270..f6f9b4818a2836966617c8efaa2f61b9760ebe46 100644 (file)
@@ -1,5 +1,5 @@
-from enigma import loadPNG
 from Components.config import ConfigSubsection, config
+from Tools.LoadPixmap import LoadPixmap
 
 config.plugins = ConfigSubsection()
 
@@ -22,8 +22,8 @@ class PluginDescriptor:
        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
@@ -38,6 +38,13 @@ class PluginDescriptor:
        # 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:
@@ -56,7 +63,7 @@ class PluginDescriptor:
 
        def updateIcon(self, path):
                if type(self.iconstr) is str:
-                       self.icon = loadPNG(path + "/" + self.iconstr)
+                       self.icon = LoadPixmap(path + "/" + self.iconstr)
                else:
                        self.icon = None