//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    /// <remarks>
    ///  @class RunnerScript plasma/scripting/runnerscript.h <Plasma/Scripting/RunnerScript>
    /// </remarks>        <short> Provides a restricted interface for scripting a runner.  </short>
    [SmokeClass("Plasma::RunnerScript")]
    public class RunnerScript : Plasma.ScriptEngine, IDisposable {
        protected RunnerScript(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(RunnerScript), this);
        }
        /// <remarks>
        ///  Default constructor for a RunnerScript.
        ///  Subclasses should not attempt to access the Plasma.AbstractRunner
        ///  associated with this RunnerScript in the constructor. All
        ///  such set up that requires the AbstractRunner itself should be done
        ///  in the init() method.
        ///      </remarks>        <short>    Default constructor for a RunnerScript.</short>
        public RunnerScript(QObject parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("RunnerScript#", "RunnerScript(QObject*)", typeof(void), typeof(QObject), parent);
        }
        public RunnerScript() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("RunnerScript", "RunnerScript()", typeof(void));
        }
        /// <remarks>
        ///  Sets the Plasma.AbstractRunner associated with this RunnerScript
        ///      </remarks>        <short>    Sets the Plasma.AbstractRunner associated with this RunnerScript      </short>
        public void SetRunner(Plasma.AbstractRunner runner) {
            interceptor.Invoke("setRunner#", "setRunner(Plasma::AbstractRunner*)", typeof(void), typeof(Plasma.AbstractRunner), runner);
        }
        /// <remarks>
        ///  Returns the Plasma.AbstractRunner associated with this script component
        ///      </remarks>        <short>    Returns the Plasma.AbstractRunner associated with this script component      </short>
        public Plasma.AbstractRunner Runner() {
            return (Plasma.AbstractRunner) interceptor.Invoke("runner", "runner() const", typeof(Plasma.AbstractRunner));
        }
        /// <remarks>
        ///  Called when the script should create QueryMatch instances through
        ///  RunnerContext.AddInformationalMatch, RunnerContext.AddExactMatch, and
        ///  RunnerContext.AddPossibleMatch.
        ///      </remarks>        <short>    Called when the script should create QueryMatch instances through  RunnerContext.AddInformationalMatch, RunnerContext.AddExactMatch, and  RunnerContext.AddPossibleMatch.</short>
        [SmokeMethod("match(Plasma::RunnerContext&)")]
        public virtual void Match(Plasma.RunnerContext search) {
            interceptor.Invoke("match#", "match(Plasma::RunnerContext&)", typeof(void), typeof(Plasma.RunnerContext), search);
        }
        /// <remarks>
        ///  Called whenever an exact or possible match associated with this
        ///  runner is triggered.
        ///      </remarks>        <short>    Called whenever an exact or possible match associated with this  runner is triggered.</short>
        [SmokeMethod("run(const Plasma::RunnerContext&, const Plasma::QueryMatch&)")]
        public virtual void Run(Plasma.RunnerContext search, Plasma.QueryMatch action) {
            interceptor.Invoke("run##", "run(const Plasma::RunnerContext&, const Plasma::QueryMatch&)", typeof(void), typeof(Plasma.RunnerContext), search, typeof(Plasma.QueryMatch), action);
        }
        /// <remarks>
        /// </remarks>        <return> absolute path to the main script file for this plasmoid
        ///      </return>
        ///         <short>   </short>
        [SmokeMethod("mainScript() const")]
        protected override string MainScript() {
            return (string) interceptor.Invoke("mainScript", "mainScript() const", typeof(string));
        }
        /// <remarks>
        /// </remarks>        <return> the Package associated with this plasmoid which can
        ///          be used to request resources, such as images and
        ///          interface files.
        ///      </return>
        ///         <short>   </short>
        [SmokeMethod("package() const")]
        protected override Plasma.Package Package() {
            return (Plasma.Package) interceptor.Invoke("package", "package() const", typeof(Plasma.Package));
        }
        ~RunnerScript() {
            interceptor.Invoke("~RunnerScript", "~RunnerScript()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~RunnerScript", "~RunnerScript()", typeof(void));
        }
        protected new IRunnerScriptSignals Emit {
            get { return (IRunnerScriptSignals) Q_EMIT; }
        }
    }

    public interface IRunnerScriptSignals : Plasma.IScriptEngineSignals {
    }
}
