Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: source/i18n/unicode/calendar.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/i18n/unicode/alphaindex.h ('k') | source/i18n/unicode/coleitr.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/i18n/unicode/calendar.h
diff --git a/source/i18n/unicode/calendar.h b/source/i18n/unicode/calendar.h
index b3c9587f5b002bd17825e6fd2b2900f7f9acaf96..e8ebaae0acb34da1e6360e7581f2f80b0dbcfd28 100644
--- a/source/i18n/unicode/calendar.h
+++ b/source/i18n/unicode/calendar.h
@@ -1,6 +1,6 @@
/*
********************************************************************************
-* Copyright (C) 1997-2013, International Business Machines
+* Copyright (C) 1997-2014, International Business Machines
* Corporation and others. All Rights Reserved.
********************************************************************************
*
@@ -1713,6 +1713,16 @@ protected:
*/
virtual int32_t handleGetExtendedYearFromWeekFields(int32_t yearWoy, int32_t woy);
+ /**
+ * Validate a single field of this calendar. Subclasses should
+ * override this method to validate any calendar-specific fields.
+ * Generic fields can be handled by
+ * <code>Calendar::validateField()</code>.
+ * @see #validateField(int, int, int, int&)
+ * @internal
+ */
+ virtual void validateField(UCalendarDateFields field, UErrorCode &status);
+
#ifndef U_HIDE_INTERNAL_API
/**
* Compute the Julian day from fields. Will determine whether to use
@@ -2154,7 +2164,7 @@ private:
/**
* Time zone affects the time calculation done by Calendar. Calendar subclasses use
- * the time zone data to produce the local time.
+ * the time zone data to produce the local time. Always set; never NULL.
*/
TimeZone* fZone;
@@ -2293,16 +2303,6 @@ private:
void validateFields(UErrorCode &status);
/**
- * Validate a single field of this calendar. Subclasses should
- * override this method to validate any calendar-specific fields.
- * Generic fields can be handled by
- * <code>Calendar::validateField()</code>.
- * @see #validateField(int, int, int, int&)
- * @internal
- */
- virtual void validateField(UCalendarDateFields field, UErrorCode &status);
-
- /**
* Validate a single field of this calendar given its minimum and
* maximum allowed value. If the field is out of range,
* <code>U_ILLEGAL_ARGUMENT_ERROR</code> will be set. Subclasses may
@@ -2348,6 +2348,11 @@ private:
/**
* Register a new Calendar factory. The factory will be adopted.
* INTERNAL in 2.6
+ *
+ * Because ICU may choose to cache Calendars internally, this must
+ * be called at application startup, prior to any calls to
+ * Calendar::createInstance to avoid undefined behavior.
+ *
* @param toAdopt the factory instance to be adopted
* @param status the in/out status code, no special meanings are assigned
* @return a registry key that can be used to unregister this factory
@@ -2360,6 +2365,11 @@ private:
* register call. Key becomes invalid after a successful call and should not be used again.
* The CalendarFactory corresponding to the key will be deleted.
* INTERNAL in 2.6
+ *
+ * Because ICU may choose to cache Calendars internally, this should
+ * be called during application shutdown, after all calls to
+ * Calendar::createInstance to avoid undefined behavior.
+ *
* @param key the registry key returned by a previous call to registerFactory
* @param status the in/out status code, no special meanings are assigned
* @return TRUE if the factory for the key was successfully unregistered
@@ -2412,6 +2422,20 @@ private:
*/
Locale getLocale(ULocDataLocaleType type, UErrorCode &status) const;
+ /**
+ * @return The related Gregorian year; will be obtained by modifying the value
+ * obtained by get from UCAL_EXTENDED_YEAR field
+ * @internal
+ */
+ virtual int32_t getRelatedYear(UErrorCode &status) const;
+
+ /**
+ * @param year The related Gregorian year to set; will be modified as necessary then
+ * set in UCAL_EXTENDED_YEAR field
+ * @internal
+ */
+ virtual void setRelatedYear(int32_t year);
+
#ifndef U_HIDE_INTERNAL_API
/** Get the locale for this calendar object. You can choose between valid and actual locale.
* @param type type of the locale we're looking for (valid or actual)
@@ -2428,6 +2452,15 @@ private:
* is not an instance of BasicTimeZone.
*/
BasicTimeZone* getBasicTimeZone() const;
+
+ /**
+ * Find the previous zone transtion near the given time.
+ * @param base The base time, inclusive
+ * @param transitionTime Receives the result time
+ * @param status The error status
+ * @return TRUE if a transition is found.
+ */
+ UBool getImmediatePreviousZoneTransition(UDate base, UDate *transitionTime, UErrorCode& status) const;
};
// -------------------------------------
@@ -2453,7 +2486,7 @@ Calendar::roll(EDateFields field, UBool up, UErrorCode& status)
{
roll((UCalendarDateFields) field, up, status);
}
-#endif
+#endif /* U_HIDE_DEPRECATED_API */
// -------------------------------------
@@ -2477,7 +2510,7 @@ inline int32_t Calendar::weekNumber(int32_t dayOfPeriod, int32_t dayOfWeek)
{
return weekNumber(dayOfPeriod, dayOfPeriod, dayOfWeek);
}
-#endif
+#endif /* U_HIDE_INTERNAL_API */
U_NAMESPACE_END
« no previous file with comments | « source/i18n/unicode/alphaindex.h ('k') | source/i18n/unicode/coleitr.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698