Rejigger lib path
[WebThing.git] / WebThingPlugin.cs
index 6ad3e9d..a201b86 100644 (file)
@@ -17,6 +17,14 @@ namespace bytex64.WebThing {
             }
         }
 
+        // 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) {}
@@ -25,4 +33,12 @@ namespace bytex64.WebThing {
         public virtual void InitWebView(WebView wv) {}
         public virtual void DeinitWebView(WebView wv) {}
     }
+
+    // An interface implemented by plugins that handle search queries
+    // (a search query is anything that doesn't look like a URI)
+    public interface ISearchPlugin {
+        // Convert a search query into a URI.  If this plugin cannot
+        // handle the search, it should return null.
+        string SearchTransform(string search);
+    }
 }