//Auto-generated by kalyptus. DO NOT EDIT.
namespace Soprano.Index {
    using Soprano;
    using System;
    using Qyoto;
    [SmokeClass("Soprano::Index::QueryHit")]
    public class QueryHit : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QueryHit(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QueryHit), this);
        }
        /// <remarks>
        ///  Create an empty hit.
        ///              </remarks>        <short>    Create an empty hit.</short>
        public QueryHit() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QueryHit", "QueryHit()", typeof(void));
        }
        /// <remarks>
        ///  Default copy constructor.
        ///              </remarks>        <short>    Default copy constructor.</short>
        public QueryHit(Soprano.Index.QueryHit arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QueryHit#", "QueryHit(const Soprano::Index::QueryHit&)", typeof(void), typeof(Soprano.Index.QueryHit), arg1);
        }
        /// <remarks>
        ///  Create a new hit.
        ///  \param resource The resource of the hit.
        ///  \param score The hit score.
        ///              </remarks>        <short>    Create a new hit.</short>
        public QueryHit(Soprano.Node resource, double score) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QueryHit#$", "QueryHit(const Soprano::Node&, double)", typeof(void), typeof(Soprano.Node), resource, typeof(double), score);
        }
        public double Score() {
            return (double) interceptor.Invoke("score", "score() const", typeof(double));
        }
        public Soprano.Node Resource() {
            return (Soprano.Node) interceptor.Invoke("resource", "resource() const", typeof(Soprano.Node));
        }
        ~QueryHit() {
            interceptor.Invoke("~QueryHit", "~QueryHit()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QueryHit", "~QueryHit()", typeof(void));
        }
    }
}
