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


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


// 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.


%If ( KDE_3_2_0 -  )

class KCalendarSystem
{
%TypeHeaderCode
#include <kcalendarsystem.h>
%End


public:
                         KCalendarSystem (const KLocale* = 0);
    virtual int          year (const QDate&) const = 0;
    virtual QString      yearString (const QDate&, bool) const;
    virtual int          yearStringToInteger (const QString&, int& /Out/) const;
    virtual int          month (const QDate&) const = 0;
    virtual QString      monthString (const QDate&, bool) const;
    virtual int          monthStringToInteger (const QString&, int& /Out/) const;
    virtual int          day (const QDate&) const = 0;
    virtual QString      dayString (const QDate&, bool) const;
    virtual int          dayStringToInteger (const QString&, int& /Out/) const;
    virtual int          dayOfWeek (const QDate&) const = 0;
    virtual int          dayOfYear (const QDate&) const = 0;
    virtual bool         setYMD (QDate&, int, int, int) const = 0;
    virtual QDate        addYears (const QDate&, int) const = 0;
    virtual QDate        addMonths (const QDate&, int) const = 0;
    virtual QDate        addDays (const QDate&, int) const = 0;
    virtual int          monthsInYear (const QDate&) const = 0;
    virtual int          daysInYear (const QDate&) const = 0;
    virtual int          daysInMonth (const QDate&) const = 0;
    virtual int          weeksInYear (int) const = 0;
    virtual int          weekNumber (const QDate&, int* = 0) const = 0;
    virtual QString      monthName (int, int, bool = 0) const = 0;
    virtual QString      monthName (const QDate&, bool = 0) const = 0;
    virtual QString      monthNamePossessive (int, int, bool = 0) const = 0;
    virtual QString      monthNamePossessive (const QDate&, bool = 0) const = 0;
    virtual QString      weekDayName (int, bool = 0) const = 0;
    virtual QString      weekDayName (const QDate&, bool = 0) const = 0;
    virtual int          minValidYear () const = 0;
    virtual int          maxValidYear () const = 0;
    virtual int          weekDayOfPray () const = 0;
    virtual QString      calendarName () const = 0;
    virtual bool         isLunar () const = 0;
    virtual bool         isLunisolar () const = 0;
    virtual bool         isSolar () const = 0;

protected:
    const KLocale*       locale () const;

};  // class KCalendarSystem

%End

