Index: icu46/source/i18n/cecal.h |
=================================================================== |
--- icu46/source/i18n/cecal.h (revision 0) |
+++ icu46/source/i18n/cecal.h (revision 0) |
@@ -0,0 +1,134 @@ |
+/* |
+******************************************************************************* |
+* Copyright (C) 2003 - 2008, International Business Machines Corporation and * |
+* others. All Rights Reserved. * |
+******************************************************************************* |
+*/ |
+ |
+#ifndef CECAL_H |
+#define CECAL_H |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+#include "unicode/calendar.h" |
+ |
+U_NAMESPACE_BEGIN |
+ |
+/** |
+ * Base class for EthiopicCalendar and CopticCalendar. |
+ * @internal |
+ */ |
+class U_I18N_API CECalendar : public Calendar { |
+ |
+protected: |
+ //------------------------------------------------------------------------- |
+ // Constructors... |
+ //------------------------------------------------------------------------- |
+ |
+ /** |
+ * Constructs a CECalendar based on the current time in the default time zone |
+ * with the given locale with the Julian epoch offiset |
+ * |
+ * @param aLocale The given locale. |
+ * @param success Indicates the status of CECalendar object construction. |
+ * Returns U_ZERO_ERROR if constructed successfully. |
+ * @internal |
+ */ |
+ CECalendar(const Locale& aLocale, UErrorCode& success); |
+ |
+ /** |
+ * Copy Constructor |
+ * @internal |
+ */ |
+ CECalendar (const CECalendar& other); |
+ |
+ /** |
+ * Destructor. |
+ * @internal |
+ */ |
+ virtual ~CECalendar(); |
+ |
+ /** |
+ * Default assignment operator |
+ * @param right Calendar object to be copied |
+ * @internal |
+ */ |
+ CECalendar& operator=(const CECalendar& right); |
+ |
+protected: |
+ //------------------------------------------------------------------------- |
+ // Calendar framework |
+ //------------------------------------------------------------------------- |
+ |
+ /** |
+ * Return JD of start of given month/extended year |
+ * @internal |
+ */ |
+ virtual int32_t handleComputeMonthStart(int32_t eyear, int32_t month, UBool useMonth) const; |
+ |
+ /** |
+ * Calculate the limit for a specified type of limit and field |
+ * @internal |
+ */ |
+ virtual int32_t handleGetLimit(UCalendarDateFields field, ELimitType limitType) const; |
+ |
+ /** |
+ * (Overrides Calendar) Return true if the current date for this Calendar is in |
+ * Daylight Savings Time. Recognizes DST_OFFSET, if it is set. |
+ * |
+ * @param status Fill-in parameter which receives the status of this operation. |
+ * @return True if the current date for this Calendar is in Daylight Savings Time, |
+ * false, otherwise. |
+ * @internal |
+ */ |
+ virtual UBool inDaylightTime(UErrorCode&) const; |
+ |
+ /** |
+ * Returns TRUE because Coptic/Ethiopic Calendar does have a default century |
+ * @internal |
+ */ |
+ virtual UBool haveDefaultCentury() const; |
+ |
+protected: |
+ /** |
+ * The Coptic and Ethiopic calendars differ only in their epochs. |
+ * This method must be implemented by CECalendar subclasses to |
+ * return the date offset from Julian |
+ * @internal |
+ */ |
+ virtual int32_t getJDEpochOffset() const = 0; |
+ |
+ /** |
+ * Convert an Coptic/Ethiopic year, month, and day to a Julian day. |
+ * |
+ * @param year the extended year |
+ * @param month the month |
+ * @param day the day |
+ * @param jdEpochOffset the epoch offset from Julian epoch |
+ * @return Julian day |
+ * @internal |
+ */ |
+ static int32_t ceToJD(int32_t year, int32_t month, int32_t date, |
+ int32_t jdEpochOffset); |
+ |
+ /** |
+ * Convert a Julian day to an Coptic/Ethiopic year, month and day |
+ * |
+ * @param julianDay the Julian day |
+ * @param jdEpochOffset the epoch offset from Julian epoch |
+ * @param year receives the extended year |
+ * @param month receives the month |
+ * @param date receives the day |
+ * @internal |
+ */ |
+ static void jdToCE(int32_t julianDay, int32_t jdEpochOffset, |
+ int32_t& year, int32_t& month, int32_t& day); |
+}; |
+ |
+U_NAMESPACE_END |
+ |
+#endif /* #if !UCONFIG_NO_FORMATTING */ |
+#endif |
+//eof |
Property changes on: icu46/source/i18n/cecal.h |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |