• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/ICU-531.30/icuSources/i18n/

Lines Matching refs:status

211 static UBool isStandardSupportedKeyword(const char *keyword, UErrorCode& status) { 
212 if(U_FAILURE(status)) {
234 UErrorCode status = U_ZERO_ERROR;
242 int32_t canonicalLen = uloc_canonicalize(locid, canonicalName, sizeof(canonicalName) - 1, &status);
243 if (U_FAILURE(status)) {
251 calTypeBufLen = uloc_getKeywordValue(canonicalName, "calendar", calTypeBuf, sizeof(calTypeBuf) - 1, &status);
252 if (U_SUCCESS(status)) {
259 status = U_ZERO_ERROR;
265 regionLen = uloc_getCountry(canonicalName, region, sizeof(region) - 1, &status);
268 uloc_addLikelySubtags(locid, fullLoc, sizeof(fullLoc) - 1, &status);
269 regionLen = uloc_getCountry(fullLoc, region, sizeof(region) - 1, &status);
271 if (U_FAILURE(status)) {
277 UResourceBundle *rb = ures_openDirect(NULL, "supplementalData", &status);
278 ures_getByKey(rb, "calendarPreferenceData", rb, &status);
279 UResourceBundle *order = ures_getByKey(rb, region, NULL, &status);
280 if (status == U_MISSING_RESOURCE_ERROR && rb != NULL) {
281 status = U_ZERO_ERROR;
282 order = ures_getByKey(rb, "001", NULL, &status);
286 if (U_SUCCESS(status) && order != NULL) {
289 const UChar *uCalType = ures_getStringByIndex(order, 0, &len, &status);
307 static Calendar *createStandardCalendar(ECalType calType, const Locale &loc, UErrorCode& status) {
312 cal = new GregorianCalendar(loc, status);
315 cal = new JapaneseCalendar(loc, status);
318 cal = new BuddhistCalendar(loc, status);
321 cal = new TaiwanCalendar(loc, status);
324 cal = new PersianCalendar(loc, status);
327 cal = new IslamicCalendar(loc, status, IslamicCalendar::TBLA);
330 cal = new IslamicCalendar(loc, status, IslamicCalendar::CIVIL);
335 cal = new IslamicCalendar(loc, status, IslamicCalendar::ASTRONOMICAL);
338 cal = new IslamicCalendar(loc, status, IslamicCalendar::UMALQURA);
341 cal = new HebrewCalendar(loc, status);
344 cal = new ChineseCalendar(loc, status);
347 cal = new IndianCalendar(loc, status);
350 cal = new CopticCalendar(loc, status);
353 cal = new EthiopicCalendar(loc, status, EthiopicCalendar::AMETE_MIHRET_ERA);
356 cal = new EthiopicCalendar(loc, status, EthiopicCalendar::AMETE_ALEM_ERA);
359 cal = new GregorianCalendar(loc, status);
364 cal = new DangiCalendar(loc, status);
367 status = U_UNSUPPORTED_ERROR;
392 //virtual UBool isSupportedID( const UnicodeString& id, UErrorCode& status) const {
393 // if(U_FAILURE(status)) {
398 // return isStandardSupportedKeyword(keyword, status);
401 virtual void updateVisibleIDs(Hashtable& result, UErrorCode& status) const
403 if (U_SUCCESS(status)) {
408 result.put(id, (void*)this, status);
413 virtual UObject* create(const ICUServiceKey& key, const ICUService* /*service*/, UErrorCode& status) const {
436 if(!isStandardSupportedKeyword(keyword,status)) { // Do we handle this type?
444 return createStandardCalendar(getCalendarType(keyword), canLoc, status);
459 virtual UObject* create(const ICUServiceKey& key, const ICUService* /*service*/, UErrorCode& status) const {
467 status = U_MEMORY_ALLOCATION_ERROR;
485 UErrorCode status = U_ZERO_ERROR;
486 registerFactory(new DefaultCalendarFactory(), status);
504 virtual UObject* handleDefault(const ICUServiceKey& key, UnicodeString* /*actualID*/, UErrorCode& status) const {
516 Calendar *nc = new GregorianCalendar(loc, status);
542 initCalendarService(UErrorCode &status)
550 status = U_MEMORY_ALLOCATION_ERROR;
558 gService->registerFactory(new BasicCalendarFactory(),status);
564 if(U_FAILURE(status)) {
566 fprintf(stderr, "err (%s) registering classes, deleting service.....\n", u_errorName(status));
574 getCalendarService(UErrorCode &status)
576 umtx_initOnce(gServiceInitOnce, &initCalendarService, status);
580 URegistryKey Calendar::registerFactory(ICUServiceFactory* toAdopt, UErrorCode& status)
582 return getCalendarService(status)->registerFactory(toAdopt, status);
585 UBool Calendar::unregister(URegistryKey key, UErrorCode& status) {
586 return getCalendarService(status)->unregister(key, status);
953 UErrorCode status = U_ZERO_ERROR;
955 getTimeInMillis(status) == that.getTimeInMillis(status) &&
956 U_SUCCESS(status);
978 Calendar::equals(const Calendar& when, UErrorCode& status) const
981 getTime(status) == when.getTime(status));
987 Calendar::before(const Calendar& when, UErrorCode& status) const
990 getTimeInMillis(status) < when.getTimeInMillis(status));
996 Calendar::after(const Calendar& when, UErrorCode& status) const
999 getTimeInMillis(status) > when.getTimeInMillis(status));
1015 const Locale& locale, UBool commonlyUsed, UErrorCode& status)
1019 commonlyUsed, &status);
1020 if (U_FAILURE(status)) {
1042 Calendar::getTimeInMillis(UErrorCode& status) const
1044 if(U_FAILURE(status))
1048 ((Calendar*)this)->updateTime(status);
1051 if(U_FAILURE(status)) {
1061 * A status of U_ILLEGAL_ARGUMENT_ERROR is set when millis is
1067 Calendar::setTimeInMillis( double millis, UErrorCode& status ) {
1068 if(U_FAILURE(status))
1075 status = U_ILLEGAL_ARGUMENT_ERROR;
1082 status = U_ILLEGAL_ARGUMENT_ERROR;
1103 Calendar::get(UCalendarDateFields field, UErrorCode& status) const
1108 if (U_SUCCESS(status)) ((Calendar*)this)->complete(status); // Cast away const
1109 return U_SUCCESS(status) ? fFields[field] : 0;
1188 int32_t Calendar::getRelatedYear(UErrorCode &status) const
1190 if (U_FAILURE(status)) {
1193 int32_t year = get(UCAL_EXTENDED_YEAR, status);
1194 if (U_FAILURE(status)) {
1348 Calendar::complete(UErrorCode& status)
1351 updateTime(status);
1353 if(U_FAILURE(status)) {
1358 computeFields(status); // fills in unset fields
1360 if(U_FAILURE(status)) {
1400 void Calendar::pinField(UCalendarDateFields field, UErrorCode& status) {
1401 int32_t max = getActualMaximum(field, status);
1402 int32_t min = getActualMinimum(field, status);
1647 void Calendar::handleComputeFields(int32_t /* julianDay */, UErrorCode &/* status */)
1665 void Calendar::roll(EDateFields field, int32_t amount, UErrorCode& status)
1667 roll((UCalendarDateFields)field, amount, status);
1670 void Calendar::roll(UCalendarDateFields field, int32_t amount, UErrorCode& status)
1676 complete(status);
1678 if(U_FAILURE(status)) {
1693 int32_t min = getActualMinimum(field,status);
1694 int32_t max = getActualMaximum(field,status);
1719 double start = getTimeInMillis(status);
1726 setTimeInMillis(start + kOneHour * (newHour - oldHour),status);
1736 int32_t max = getActualMaximum(UCAL_MONTH, status);
1747 pinField(UCAL_DAY_OF_MONTH,status);
1758 int32_t era = get(UCAL_ERA, status);
1768 int32_t maxYear = getActualMaximum(field, status);
1787 pinField(UCAL_MONTH,status);
1788 pinField(UCAL_DAY_OF_MONTH,status);
1795 pinField(UCAL_MONTH,status);
1796 pinField(UCAL_DAY_OF_MONTH,status);
1850 int32_t monthLen = getActualMaximum(UCAL_DAY_OF_MONTH, status);
1908 int32_t yearLen = getActualMaximum(UCAL_DAY_OF_YEAR,status);
1949 double yearLength = getActualMaximum(UCAL_DAY_OF_YEAR,status);
1954 setTimeInMillis(newtime + min2, status);
1972 setTimeInMillis(newtime + min2, status);
1986 int32_t postWeeks = (getActualMaximum(UCAL_DAY_OF_MONTH,status) -
1994 setTimeInMillis(newtime + min2, status);
2006 status = U_ILLEGAL_ARGUMENT_ERROR;
2010 void Calendar::add(EDateFields field, int32_t amount, UErrorCode& status)
2012 Calendar::add((UCalendarDateFields)field, amount, status);
2016 void Calendar::add(UCalendarDateFields field, int32_t amount, UErrorCode& status)
2048 set(field, get(field, status) + amount);
2049 pinField(UCAL_ERA, status);
2062 int32_t era = get(UCAL_ERA, status);
2076 set(field, get(field, status) + amount);
2077 pinField(UCAL_DAY_OF_MONTH, status);
2079 complete(status); /* force recalculate */
2129 status = U_ILLEGAL_ARGUMENT_ERROR;
2142 prevOffset = get(UCAL_DST_OFFSET, status) + get(UCAL_ZONE_OFFSET, status);
2143 prevWallTime = get(UCAL_MILLISECONDS_IN_DAY, status);
2146 setTimeInMillis(getTimeInMillis(status) + delta, status);
2149 int32_t newWallTime = get(UCAL_MILLISECONDS_IN_DAY, status);
2155 int32_t newOffset = get(UCAL_DST_OFFSET, status) + get(UCAL_ZONE_OFFSET, status);
2164 setTimeInMillis(t + adjAmount, status);
2165 newWallTime = get(UCAL_MILLISECONDS_IN_DAY, status);
2173 setTimeInMillis(t, status);
2178 setTimeInMillis(t, status);
2184 UBool hasTransition = getImmediatePreviousZoneTransition(tmpT, &immediatePrevTrans, status);
2185 if (U_SUCCESS(status) && hasTransition) {
2186 setTimeInMillis(immediatePrevTrans, status);
2197 int32_t Calendar::fieldDifference(UDate when, EDateFields field, UErrorCode& status) {
2198 return fieldDifference(when, (UCalendarDateFields) field, status);
2414 Calendar::getFirstDayOfWeek(UErrorCode & /*status*/) const
2449 Calendar::getDayOfWeekType(UCalendarDaysOfWeek dayOfWeek, UErrorCode &status) const
2451 if (U_FAILURE(status)) {
2455 status = U_ILLEGAL_ARGUMENT_ERROR;
2482 Calendar::getWeekendTransition(UCalendarDaysOfWeek dayOfWeek, UErrorCode &status) const
2484 if (U_FAILURE(status)) {
2492 status = U_ILLEGAL_ARGUMENT_ERROR;
2497 Calendar::isWeekend(UDate date, UErrorCode &status) const
2499 if (U_FAILURE(status)) {
2505 status = U_MEMORY_ALLOCATION_ERROR;
2509 work->setTime(date, status);
2510 if (U_SUCCESS(status)) {
2520 UErrorCode status = U_ZERO_ERROR;
2521 UCalendarDaysOfWeek dayOfWeek = (UCalendarDaysOfWeek)get(UCAL_DAY_OF_WEEK, status);
2522 UCalendarWeekdayType dayType = getDayOfWeekType(dayOfWeek, status);
2523 if (U_SUCCESS(status)) {
2534 int32_t transitionMillis = getWeekendTransition(dayOfWeek, status);
2535 if (U_SUCCESS(status)) {
2603 Calendar::getActualMinimum(EDateFields field, UErrorCode& status) const
2605 return getActualMinimum((UCalendarDateFields) field, status);
2650 Calendar::getActualMinimum(UCalendarDateFields field, UErrorCode& status) const
2664 status = U_MEMORY_ALLOCATION_ERROR;
2676 if (work->get(field, status) != fieldValue) {
2688 if(U_FAILURE(status)) {
2705 void Calendar::validateFields(UErrorCode &status) {
2706 for (int32_t field = 0; U_SUCCESS(status) && (field < UCAL_FIELD_COUNT); field++) {
2708 validateField((UCalendarDateFields)field, status);
2720 void Calendar::validateField(UCalendarDateFields field, UErrorCode &status) {
2725 validateField(field, 1, handleGetMonthLength(y, internalGet(UCAL_MONTH)), status);
2729 validateField(field, 1, handleGetYearLength(y), status);
2737 status = U_ILLEGAL_ARGUMENT_ERROR; // "DAY_OF_WEEK_IN_MONTH cannot be zero"
2740 validateField(field, getMinimum(field), getMaximum(field), status);
2743 validateField(field, getMinimum(field), getMaximum(field), status);
2755 void Calendar::validateField(UCalendarDateFields field, int32_t min, int32_t max, UErrorCode& status)
2763 status = U_ILLEGAL_ARGUMENT_ERROR;
2909 void Calendar::computeTime(UErrorCode& status) {
2911 validateFields(status);
2912 if (U_FAILURE(status)) {
2984 int32_t zoneOffset = computeZoneOffset(millis, millisInDay, status);
2988 fZone->getOffset(tmpTime, FALSE, raw, dst, status);
2990 if (U_SUCCESS(status)) {
2995 status = U_ILLEGAL_ARGUMENT_ERROR;
3002 UBool hasTransition = getImmediatePreviousZoneTransition(tmpTime, &immediatePrevTransition, status);
3003 if (U_SUCCESS(status) && hasTransition) {
3012 t = millis + millisInDay - computeZoneOffset(millis, millisInDay, status);
3015 if (U_SUCCESS(status)) {
3023 UBool Calendar::getImmediatePreviousZoneTransition(UDate base, UDate *transitionTime, UErrorCode& status) const {
3034 status = U_INTERNAL_PROGRAM_ERROR;
3039 status = U_UNSUPPORTED_ERROR;
3522 Calendar::getActualMaximum(UCalendarDateFields field, UErrorCode& status) const
3528 if(U_FAILURE(status)) return 0;
3530 if(!cal) { status = U_MEMORY_ALLOCATION_ERROR; return 0; }
3532 cal->prepareGetActual(field,FALSE,status);
3533 result = handleGetMonthLength(cal->get(UCAL_EXTENDED_YEAR, status), cal->get(UCAL_MONTH, status));
3540 if(U_FAILURE(status)) return 0;
3542 if(!cal) { status = U_MEMORY_ALLOCATION_ERROR; return 0; }
3544 cal->prepareGetActual(field,FALSE,status);
3545 result = handleGetYearLength(cal->get(UCAL_EXTENDED_YEAR, status));
3568 result = getActualHelper(field, getLeastMaximum(field), getMaximum(field),status);
3596 void Calendar::prepareGetActual(UCalendarDateFields field, UBool isMinimum, UErrorCode &status)
3617 set(UCAL_DAY_OF_WEEK, get(UCAL_DAY_OF_WEEK, status)); // Make this user set
3648 int32_t Calendar::getActualHelper(UCalendarDateFields field, int32_t startValue, int32_t endValue, UErrorCode &status) const
3651 fprintf(stderr, "getActualHelper(%d,%d .. %d, %s)\n", field, startValue, endValue, u_errorName(status));
3662 if(U_FAILURE(status)) return startValue;
3664 if(!work) { status = U_MEMORY_ALLOCATION_ERROR; return startValue; }
3668 work->complete(status);
3671 work->prepareGetActual(field, delta < 0, status);
3684 if ((work->get(field, status) != startValue
3685 && field != UCAL_WEEK_OF_MONTH && delta > 0 ) || U_FAILURE(status)) {
3687 fprintf(stderr, "getActualHelper(fld %d) - got %d (not %d) - %s\n", field, work->get(field,status), startValue, u_errorName(status));
3692 work->add(field, delta, status);
3693 if (work->get(field, status) != startValue || U_FAILURE(status)) {
3695 fprintf(stderr, "getActualHelper(fld %d) - got %d (not %d), BREAK - %s\n", field, work->get(field,status), startValue, u_errorName(status));
3715 Calendar::setWeekData(const Locale& desiredLocale, const char *type, UErrorCode& status)
3718 if (U_FAILURE(status)) return;
3758 CalendarData calData(useLocale,type,status);
3759 UResourceBundle *monthNames = calData.getByKey(gMonthNames,status);
3760 if (U_SUCCESS(status)) {
3762 locBased.setLocaleIDs(ures_getLocaleByType(monthNames, ULOC_VALID_LOCALE, &status),
3763 ures_getLocaleByType(monthNames, ULOC_ACTUAL_LOCALE, &status));
3765 status = U_USING_FALLBACK_WARNING;
3771 UResourceBundle *rb = ures_openDirect(NULL, "supplementalData", &status);
3772 ures_getByKey(rb, "weekData", rb, &status);
3773 UResourceBundle *weekData = ures_getByKey(rb, useLocale.getCountry(), NULL, &status);
3774 if (status == U_MISSING_RESOURCE_ERROR && rb != NULL) {
3775 status = U_ZERO_ERROR;
3776 weekData = ures_getByKey(rb, "001", NULL, &status);
3779 if (U_FAILURE(status)) {
3781 fprintf(stderr, " Failure loading weekData from supplemental = %s\n", u_errorName(status));
3783 status = U_USING_FALLBACK_WARNING;
3786 const int32_t *weekDataArr = ures_getIntVector(weekData,&arrLen,&status);
3787 if( U_SUCCESS(status) && arrLen == 6
3799 status = U_INVALID_FORMAT_ERROR;
3807 * Recompute the time and update the status fields isTimeSet
3812 Calendar::updateTime(UErrorCode& status)
3814 computeTime(status);
3815 if(U_FAILURE(status))
3829 Calendar::getLocale(ULocDataLocaleType type, UErrorCode& status) const {
3831 return locBased.getLocale(type, status);
3835 Calendar::getLocaleID(ULocDataLocaleType type, UErrorCode& status) const {
3837 return locBased.getLocaleID(type, status);