//Auto-generated by kalyptus. DO NOT EDIT.
namespace KNS {
    using Kimono;
    using System;
    using Qyoto;
    /// <remarks>
    /// </remarks>        <author> Josef Spillner (spillner@kde.org)
    ///  </author>
    ///         <short> KNewStuff category. </short>
    [SmokeClass("KNS::Category")]
    public class Category : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected Category(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(Category), this);
        }
        /// <remarks>
        ///  Constructor.
        ///      </remarks>        <short>    Constructor.</short>
        public Category() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("Category", "Category()", typeof(void));
        }
        /// <remarks>
        ///  Sets the unique id for this category.
        ///      </remarks>        <short>    Sets the unique id for this category.</short>
        public void SetId(string id) {
            interceptor.Invoke("setId$", "setId(const QString&)", typeof(void), typeof(string), id);
        }
        /// <remarks>
        ///  Retrieve the unique id of the category.
        /// </remarks>        <return> category id
        ///      </return>
        ///         <short>    Retrieve the unique id of the category.</short>
        public string Id() {
            return (string) interceptor.Invoke("id", "id() const", typeof(string));
        }
        /// <remarks>
        ///  Sets the name for this category.
        ///      </remarks>        <short>    Sets the name for this category.</short>
        public void SetName(KNS.KTranslatable name) {
            interceptor.Invoke("setName#", "setName(const KNS::KTranslatable&)", typeof(void), typeof(KNS.KTranslatable), name);
        }
        /// <remarks>
        ///  Retrieve the name of the category.
        /// </remarks>        <return> category name (potentially translated)
        ///      </return>
        ///         <short>    Retrieve the name of the category.</short>
        public KNS.KTranslatable Name() {
            return (KNS.KTranslatable) interceptor.Invoke("name", "name() const", typeof(KNS.KTranslatable));
        }
        /// <remarks>
        ///  Sets the category description.
        ///      </remarks>        <short>    Sets the category description.</short>
        public void SetDescription(KNS.KTranslatable type) {
            interceptor.Invoke("setDescription#", "setDescription(const KNS::KTranslatable&)", typeof(void), typeof(KNS.KTranslatable), type);
        }
        /// <remarks>
        ///  Retrieve the description of the category.
        /// </remarks>        <return> category description
        ///      </return>
        ///         <short>    Retrieve the description of the category.</short>
        public KNS.KTranslatable Description() {
            return (KNS.KTranslatable) interceptor.Invoke("description", "description() const", typeof(KNS.KTranslatable));
        }
        /// <remarks>
        ///  Sets the icon.
        ///      </remarks>        <short>    Sets the icon.</short>
        public void SetIcon(KUrl icon) {
            interceptor.Invoke("setIcon#", "setIcon(const KUrl&)", typeof(void), typeof(KUrl), icon);
        }
        /// <remarks>
        ///  Retrieve the icon of the category.
        /// </remarks>        <return> category icon
        ///      </return>
        ///         <short>    Retrieve the icon of the category.</short>
        public KUrl Icon() {
            return (KUrl) interceptor.Invoke("icon", "icon() const", typeof(KUrl));
        }
        ~Category() {
            interceptor.Invoke("~Category", "~Category()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~Category", "~Category()", typeof(void));
        }
    }
}
