basictz.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 * Copyright (C) 2007, International Business Machines Corporation and         *
00004 * others. All Rights Reserved.                                                *
00005 *******************************************************************************
00006 */
00007 #ifndef BASICTZ_H
00008 #define BASICTZ_H
00009 
00015 #include "unicode/utypes.h"
00016 
00017 #if !UCONFIG_NO_FORMATTING
00018 
00019 #include "unicode/timezone.h"
00020 #include "unicode/tzrule.h"
00021 #include "unicode/tztrans.h"
00022 
00023 U_NAMESPACE_BEGIN
00024 
00025 // forward declarations
00026 class UVector;
00027 
00034 class U_I18N_API BasicTimeZone: public TimeZone {
00035 public:
00040     virtual ~BasicTimeZone();
00041 
00050     virtual UBool getNextTransition(UDate base, UBool inclusive, TimeZoneTransition& result) /*const*/ = 0;
00051 
00060     virtual UBool getPreviousTransition(UDate base, UBool inclusive, TimeZoneTransition& result) /*const*/ = 0;
00061 
00082     virtual UBool hasEquivalentTransitions(/*const*/ BasicTimeZone& tz, UDate start, UDate end,
00083         UBool ignoreDstAmount, UErrorCode& ec) /*const*/;
00084 
00093     virtual int32_t countTransitionRules(UErrorCode& status) /*const*/ = 0;
00094 
00111     virtual void getTimeZoneRules(const InitialTimeZoneRule*& initial,
00112         const TimeZoneRule* trsrules[], int32_t& trscount, UErrorCode& status) /*const*/ = 0;
00113 
00140     virtual void getSimpleRulesNear(UDate date, InitialTimeZoneRule*& initial,
00141         AnnualTimeZoneRule*& std, AnnualTimeZoneRule*& dst, UErrorCode& status) /*const*/;
00142 
00143 protected:
00148     BasicTimeZone();
00149 
00155     BasicTimeZone(const UnicodeString &id);
00156 
00162     BasicTimeZone(const BasicTimeZone& source);
00163 
00171     void getTimeZoneRulesAfter(UDate start, InitialTimeZoneRule*& initial, UVector*& transitionRules,
00172         UErrorCode& status) /*const*/;
00173 };
00174 
00175 U_NAMESPACE_END
00176 
00177 #endif /* #if !UCONFIG_NO_FORMATTING */
00178 
00179 #endif // BASICTZ_H
00180 
00181 //eof

Generated on Fri Dec 21 14:42:42 2007 for ICU 3.8 by  doxygen 1.5.2