/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

#ifndef __com_sun_star_i18n_Calendar2_idl__
#define __com_sun_star_i18n_Calendar2_idl__

#include <com/sun/star/i18n/CalendarItem2.idl>


module com { module sun { module star { module i18n {


/**
    Calendar items as returned in a sequence by
    XLocaleData3::getAllCalendars2().

    <p> Similar to
    ::com::sun::star::i18n::Calendar this provides
    additional members with a sequence of possessive (genitive case) and
    partitive case month names for locales that use them, for example
    Slavic locales. If a locale does not provide the possessive form in
    #GenitiveMonths, the names are identical to the
    nominative case nouns in Calendar::Months. If a
    locale does not provide the partitive case in
    #PartitiveMonths, the names are identical to
    #GenitiveMonths. </p>

    <p> The sequences are of type
    com::sun::star::i18n::CalendarItem2 instead of
    com::sun::star::i18n::CalendarItem, with the
    additional NarrowName member.

    @see XLocaleData
        for links to DTD of XML locale data files.

    @since LibreOffice 3.5
 */

published struct Calendar2
{
    /// The days of the week.
    sequence< CalendarItem2 >   Days;

    /// The months of the year.
    sequence< CalendarItem2 >   Months;

    /// The months of the year in possessive genitive case.
    sequence< CalendarItem2 >   GenitiveMonths;

    /// The months of the year in partitive case.
    sequence< CalendarItem2 >   PartitiveMonths;

    /// The possible eras.
    sequence< CalendarItem2 >   Eras;

    /// The ID of the day with which the week begins.
    string                      StartOfWeek;

    /// How many days must reside in the first week of a year.
    short                       MinimumNumberOfDaysForFirstWeek;

    /// If this is the default calendar for a given locale.
    boolean                     Default;

    /// The name of the calendar, for example, <b>Gregorian</b>.
    string                      Name;
};

}; }; }; };

#endif
