//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    using System.Collections.Generic;
    /// <remarks>
    ///  The parsed system time zone data returned by KSystemTimeZoneSource.
    /// </remarks>        <author> David Jarvie <djarvie@kde.org>.
    ///  </author>
    ///         <short> Parsed system time zone data.</short>
    ///         <see> KSystemTimeZoneSource</see>
    ///         <see> KSystemTimeZone</see>
    ///         <see> @ingroup</see>
    ///         <see> timezones</see>
    [SmokeClass("KSystemTimeZoneData")]
    public class KSystemTimeZoneData : KTimeZoneData, IDisposable {
        protected KSystemTimeZoneData(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KSystemTimeZoneData), this);
        }
        public KSystemTimeZoneData() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KSystemTimeZoneData", "KSystemTimeZoneData()", typeof(void));
        }
        /// <remarks> Copy constructor; no special ownership assumed. </remarks>        <short>   Copy constructor; no special ownership assumed.</short>
        public KSystemTimeZoneData(KSystemTimeZoneData arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KSystemTimeZoneData#", "KSystemTimeZoneData(const KSystemTimeZoneData&)", typeof(void), typeof(KSystemTimeZoneData), arg1);
        }
        /// <remarks>
        ///  Creates a new copy of this object.
        ///  The caller is responsible for deleting the copy.
        ///  Derived classes must reimplement this method to return a copy of the
        ///  calling instance
        /// </remarks>        <return> copy of this instance. This is a KSystemTimeZoneData pointer.
        ///      </return>
        ///         <short>    Creates a new copy of this object.</short>
        [SmokeMethod("clone() const")]
        public override KTimeZoneData Clone() {
            return (KTimeZoneData) interceptor.Invoke("clone", "clone() const", typeof(KTimeZoneData));
        }
        /// <remarks>
        ///  Returns the complete list of time zone abbreviations.
        /// </remarks>        <return> the list of abbreviations
        ///      </return>
        ///         <short>    Returns the complete list of time zone abbreviations.</short>
        [SmokeMethod("abbreviations() const")]
        public override List<QByteArray> Abbreviations() {
            return (List<QByteArray>) interceptor.Invoke("abbreviations", "abbreviations() const", typeof(List<QByteArray>));
        }
        [SmokeMethod("abbreviation(const QDateTime&) const")]
        public override QByteArray Abbreviation(QDateTime utcDateTime) {
            return (QByteArray) interceptor.Invoke("abbreviation#", "abbreviation(const QDateTime&) const", typeof(QByteArray), typeof(QDateTime), utcDateTime);
        }
        /// <remarks>
        ///  Returns the complete list of UTC offsets for the time zone. For system
        ///  time zones, significant processing would be required to obtain such a
        ///  list, so instead an empty list is returned.
        /// </remarks>        <return> empty list
        ///      </return>
        ///         <short>    Returns the complete list of UTC offsets for the time zone.</short>
        [SmokeMethod("utcOffsets() const")]
        public override List<int> UtcOffsets() {
            return (List<int>) interceptor.Invoke("utcOffsets", "utcOffsets() const", typeof(List<int>));
        }
        ~KSystemTimeZoneData() {
            interceptor.Invoke("~KSystemTimeZoneData", "~KSystemTimeZoneData()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KSystemTimeZoneData", "~KSystemTimeZoneData()", typeof(void));
        }
    }
}
