//Auto-generated by kalyptus. DO NOT EDIT.
namespace Soprano.Inference {
    using Soprano;
    using System;
    using Qyoto;
    /// <remarks>
    ///  \class RuleParser inferenceruleparser.h Soprano/Inference/RuleParser
    ///  \brief The RuleParser can be used to parse %Soprano rule files.
    ///  \sa RuleSet.StandardRuleSet()
    ///  \author Sebastian Trueg <trueg@kde.org>
    ///          </remarks>        <short>    \class RuleParser inferenceruleparser.</short>
    [SmokeClass("Soprano::Inference::RuleParser")]
    public class RuleParser : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected RuleParser(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(RuleParser), this);
        }
        public RuleParser() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("RuleParser", "RuleParser()", typeof(void));
        }
        public bool ParseFile(string path) {
            return (bool) interceptor.Invoke("parseFile$", "parseFile(const QString&)", typeof(bool), typeof(string), path);
        }
        public Soprano.Inference.RuleSet Rules() {
            return (Soprano.Inference.RuleSet) interceptor.Invoke("rules", "rules() const", typeof(Soprano.Inference.RuleSet));
        }
        ~RuleParser() {
            interceptor.Invoke("~RuleParser", "~RuleParser()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~RuleParser", "~RuleParser()", typeof(void));
        }
    }
}
