//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QScriptEngineAgent")]
    public class QScriptEngineAgent : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QScriptEngineAgent(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QScriptEngineAgent), this);
        }
        public enum Extension {
        }
        // QScriptEngineAgent* QScriptEngineAgent(QScriptEngineAgentPrivate& arg1,QScriptEngine* arg2); >>>> NOT CONVERTED
        public QScriptEngineAgent(QScriptEngine engine) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QScriptEngineAgent#", "QScriptEngineAgent(QScriptEngine*)", typeof(void), typeof(QScriptEngine), engine);
        }
        [SmokeMethod("scriptLoad(qint64, const QString&, const QString&, int)")]
        public virtual void ScriptLoad(long id, string program, string fileName, int baseLineNumber) {
            interceptor.Invoke("scriptLoad$$$$", "scriptLoad(qint64, const QString&, const QString&, int)", typeof(void), typeof(long), id, typeof(string), program, typeof(string), fileName, typeof(int), baseLineNumber);
        }
        [SmokeMethod("scriptUnload(qint64)")]
        public virtual void ScriptUnload(long id) {
            interceptor.Invoke("scriptUnload$", "scriptUnload(qint64)", typeof(void), typeof(long), id);
        }
        [SmokeMethod("contextPush()")]
        public virtual void ContextPush() {
            interceptor.Invoke("contextPush", "contextPush()", typeof(void));
        }
        [SmokeMethod("contextPop()")]
        public virtual void ContextPop() {
            interceptor.Invoke("contextPop", "contextPop()", typeof(void));
        }
        [SmokeMethod("functionEntry(qint64)")]
        public virtual void FunctionEntry(long scriptId) {
            interceptor.Invoke("functionEntry$", "functionEntry(qint64)", typeof(void), typeof(long), scriptId);
        }
        [SmokeMethod("functionExit(qint64, const QScriptValue&)")]
        public virtual void FunctionExit(long scriptId, QScriptValue returnValue) {
            interceptor.Invoke("functionExit$#", "functionExit(qint64, const QScriptValue&)", typeof(void), typeof(long), scriptId, typeof(QScriptValue), returnValue);
        }
        [SmokeMethod("positionChange(qint64, int, int)")]
        public virtual void PositionChange(long scriptId, int lineNumber, int columnNumber) {
            interceptor.Invoke("positionChange$$$", "positionChange(qint64, int, int)", typeof(void), typeof(long), scriptId, typeof(int), lineNumber, typeof(int), columnNumber);
        }
        [SmokeMethod("exceptionThrow(qint64, const QScriptValue&, bool)")]
        public virtual void ExceptionThrow(long scriptId, QScriptValue exception, bool hasHandler) {
            interceptor.Invoke("exceptionThrow$#$", "exceptionThrow(qint64, const QScriptValue&, bool)", typeof(void), typeof(long), scriptId, typeof(QScriptValue), exception, typeof(bool), hasHandler);
        }
        [SmokeMethod("exceptionCatch(qint64, const QScriptValue&)")]
        public virtual void ExceptionCatch(long scriptId, QScriptValue exception) {
            interceptor.Invoke("exceptionCatch$#", "exceptionCatch(qint64, const QScriptValue&)", typeof(void), typeof(long), scriptId, typeof(QScriptValue), exception);
        }
        [SmokeMethod("supportsExtension(QScriptEngineAgent::Extension) const")]
        public virtual bool SupportsExtension(QScriptEngineAgent.Extension extension) {
            return (bool) interceptor.Invoke("supportsExtension$", "supportsExtension(QScriptEngineAgent::Extension) const", typeof(bool), typeof(QScriptEngineAgent.Extension), extension);
        }
        [SmokeMethod("extension(QScriptEngineAgent::Extension, const QVariant&)")]
        public virtual QVariant extension(QScriptEngineAgent.Extension extension, QVariant argument) {
            return (QVariant) interceptor.Invoke("extension$#", "extension(QScriptEngineAgent::Extension, const QVariant&)", typeof(QVariant), typeof(QScriptEngineAgent.Extension), extension, typeof(QVariant), argument);
        }
        [SmokeMethod("extension(QScriptEngineAgent::Extension)")]
        public virtual QVariant extension(QScriptEngineAgent.Extension extension) {
            return (QVariant) interceptor.Invoke("extension$", "extension(QScriptEngineAgent::Extension)", typeof(QVariant), typeof(QScriptEngineAgent.Extension), extension);
        }
        public QScriptEngine Engine() {
            return (QScriptEngine) interceptor.Invoke("engine", "engine() const", typeof(QScriptEngine));
        }
        ~QScriptEngineAgent() {
            interceptor.Invoke("~QScriptEngineAgent", "~QScriptEngineAgent()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QScriptEngineAgent", "~QScriptEngineAgent()", typeof(void));
        }
    }
}
