/* -*- 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_XCalendar4_idl__ #define __com_sun_star_i18n_XCalendar4_idl__ #include module com { module sun { module star { module i18n { /** This interface provides access to locale specific calendar systems.

It is derived from ::com::sun::star::i18n::XCalendar3 and provides additional methods to set and get the local time.

@since LibreOffice 5.0 */ interface XCalendar4 : com::sun::star::i18n::XCalendar3 { /** Set the local date/time as an offset to the start of the calendar at 1-Jan-1970 00:00. The integer part represents the number of days passed since start date. The fractional part represents fractions of a day, thus 0.5 means 12 hours. The actual timezone and daylight saving time offsets effective at the given date and time are considered and subtracted before setting the UTC time at the calendar. */ void setLocalDateTime( [in] double TimeInDays ); /** Get the local date/time as an offset to the start of the calendar at 1-Jan-1970 00:00. The integer part represents the number of days passed since start date. The fractional part represents fractions of a day, thus 0.5 means 12 hours. The actual timezone and daylight saving time offsets effective at the given date and time are considered and added to the UTC time at the calendar. */ double getLocalDateTime(); /** Load the default calendar for the given locale with a given time zone. @param rLocale the locale for the calendar @param TimeZone If empty, the system's time zone is used. Else specified as "Region/City" name like "Europe/Berlin", or a custom time zone ID such as "UTC" or "GMT-8:00". @since LibreOffice 6.3 */ void loadDefaultCalendarTZ( [in] ::com::sun::star::lang::Locale rLocale, [in] string TimeZone ); /** Load a specific calendar for the given locale with a given time zone. @param uniqueID the uniqueID for the calendar. As of 2019-09-25, we can specify ROC, dangi, buddhist, gengou, gregorian, hanja, hanja_yoil, hijri, jewish. If the calendar for the specified uniqueID is not found, gregorian is used. @param rLocale the locale for the calendar @param TimeZone If empty, the system's time zone is used. Else specified as "Region/City" name like "Europe/Berlin", or a custom time zone ID such as "UTC" or "GMT-8:00". @since LibreOffice 6.3 */ void loadCalendarTZ( [in] string uniqueID, [in] ::com::sun::star::lang::Locale rLocale, [in] string TimeZone ); }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */