00001
00002
00003
00004
00005
00006
00007 #ifndef TZTRANS_H
00008 #define TZTRANS_H
00009
00015 #include "unicode/utypes.h"
00016
00017 #if !UCONFIG_NO_FORMATTING
00018
00019 #include "unicode/uobject.h"
00020
00021 U_NAMESPACE_BEGIN
00022
00023
00024 class TimeZoneRule;
00025
00031 class U_I18N_API TimeZoneTransition : public UObject {
00032 public:
00042 TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to);
00043
00048 TimeZoneTransition();
00049
00055 TimeZoneTransition(const TimeZoneTransition& source);
00056
00061 ~TimeZoneTransition();
00062
00069 TimeZoneTransition* clone(void) const;
00070
00076 TimeZoneTransition& operator=(const TimeZoneTransition& right);
00077
00085 UBool operator==(const TimeZoneTransition& that) const;
00086
00094 UBool operator!=(const TimeZoneTransition& that) const;
00095
00101 UDate getTime(void) const;
00102
00108 void setTime(UDate time);
00109
00115 const TimeZoneRule* getFrom(void) const;
00116
00123 void setFrom(const TimeZoneRule& from);
00124
00131 void adoptFrom(TimeZoneRule* from);
00132
00139 void setTo(const TimeZoneRule& to);
00140
00147 void adoptTo(TimeZoneRule* to);
00148
00154 const TimeZoneRule* getTo(void) const;
00155
00156 private:
00157 UDate fTime;
00158 TimeZoneRule* fFrom;
00159 TimeZoneRule* fTo;
00160
00161 public:
00173 static UClassID U_EXPORT2 getStaticClassID(void);
00174
00186 virtual UClassID getDynamicClassID(void) const;
00187 };
00188
00189 U_NAMESPACE_END
00190
00191 #endif
00192
00193 #endif // TZTRANS_H
00194
00195