//
//     Copyright 2007 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2006 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kdecore  version KDE 3.92.0


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.


class KSystemTimeZones : QObject
{
%TypeHeaderCode
#include <ksystemtimezone.h>
%End


public:
    static KTimeZones*   timeZones ();
    static const KTimeZones::ZoneMap zones ();
    static KTimeZone     zone (const QString&);
    static KTimeZone     readZone (const QString&);
    static KTimeZone     local ();
    static QString       zoneinfoDir ();

private:
                         KSystemTimeZones ();
const KSystemTimeZones &KSystemTimeZones (const KSystemTimeZones &other);

};  // class KSystemTimeZones


class KSystemTimeZone : KTimeZone
{
%TypeHeaderCode
#include <ksystemtimezone.h>
%End


public:
                         KSystemTimeZone (KSystemTimeZoneSource*, const QString&, const QString& = QString (), float = KTimeZone::UNKNOWN , float = KTimeZone::UNKNOWN , const QString& = QString ());

};  // class KSystemTimeZone


class KSystemTimeZoneBackend : KTimeZoneBackend
{
%TypeHeaderCode
#include <ksystemtimezone.h>
%End


public:
                         KSystemTimeZoneBackend (KSystemTimeZoneSource*, const QString&, const QString&, float, float, const QString&);
    virtual KTimeZoneBackend* clone () const;
    virtual int          offsetAtZoneTime (const KTimeZone*, const QDateTime&, int* /Out/) const;
    virtual int          offsetAtUtc (const KTimeZone*, const QDateTime&) const;
    virtual int          offset (const KTimeZone*, time_t) const;
    virtual bool         isDstAtUtc (const KTimeZone*, const QDateTime&) const;
    virtual bool         isDst (const KTimeZone*, time_t) const;

};  // class KSystemTimeZoneBackend


class KSystemTimeZoneSource : KTimeZoneSource
{
%TypeHeaderCode
#include <ksystemtimezone.h>
%End


public:
                         KSystemTimeZoneSource ();
    virtual KTimeZoneData* parse (const KTimeZone&) const;
    static void          startParseBlock ();
    static void          endParseBlock ();

};  // class KSystemTimeZoneSource
