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


//                 Generated by preSip
//            module tdecore  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.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


%If ( KDE_3_2_0 -  )

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


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

protected:
    const TDELocale*       locale () const;

};  // class KCalendarSystem

%End

