X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=WebThingPlugin.cs;h=6f23e9d54a6281da95b4142cb1da72276b8eca5d;hb=bf0210888b2c1a7eb26656fdcaec4e0559569772;hp=56caa4cc43727f4ebf81e211d5fb877e887bae74;hpb=fc785e55243b0a680c19ea6ccd77b759fe216766;p=WebThing.git diff --git a/WebThingPlugin.cs b/WebThingPlugin.cs index 56caa4c..6f23e9d 100644 --- a/WebThingPlugin.cs +++ b/WebThingPlugin.cs @@ -9,13 +9,28 @@ namespace bytex64.WebThing { public WebThingPlugin() { string classname = this.GetType().FullName; - if (Config.PluginOptions.ContainsKey(classname)) + if (Config.PluginOptions.ContainsKey(classname)) { Options = Config.PluginOptions[classname]; - else + } else { Options = new Dictionary(); + Config.PluginOptions[classname] = Options; + } } + // Convenience function to easily save plugin configuration + protected void SaveConfig() { + if (Config.ConfigPathOut == null) return; + + string plugin_name = this.GetType().FullName; + Config.SaveFile(plugin_name, String.Format("{0}/{1}.conf", Config.ConfigPathOut, plugin_name)); + } + + // Plugin life cycle public virtual void Init(WebThing wt) {} + public virtual void Deinit(WebThing wt) {} + + // WebView life cycle public virtual void InitWebView(WebView wv) {} + public virtual void DeinitWebView(WebView wv) {} } }