00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef TZTRANS_H
00010 #define TZTRANS_H
00011
00017 #include "unicode/utypes.h"
00018
00019 #if U_SHOW_CPLUSPLUS_API
00020
00021 #if !UCONFIG_NO_FORMATTING
00022
00023 #include "unicode/uobject.h"
00024
00025 U_NAMESPACE_BEGIN
00026
00027
00028 class TimeZoneRule;
00029
00035 class U_I18N_API TimeZoneTransition : public UObject {
00036 public:
00046 TimeZoneTransition(UDate time, const TimeZoneRule& from, const TimeZoneRule& to);
00047
00052 TimeZoneTransition();
00053
00059 TimeZoneTransition(const TimeZoneTransition& source);
00060
00065 ~TimeZoneTransition();
00066
00073 TimeZoneTransition* clone() const;
00074
00080 TimeZoneTransition& operator=(const TimeZoneTransition& right);
00081
00089 UBool operator==(const TimeZoneTransition& that) const;
00090
00098 UBool operator!=(const TimeZoneTransition& that) const;
00099
00105 UDate getTime(void) const;
00106
00112 void setTime(UDate time);
00113
00119 const TimeZoneRule* getFrom(void) const;
00120
00127 void setFrom(const TimeZoneRule& from);
00128
00135 void adoptFrom(TimeZoneRule* from);
00136
00143 void setTo(const TimeZoneRule& to);
00144
00151 void adoptTo(TimeZoneRule* to);
00152
00158 const TimeZoneRule* getTo(void) const;
00159
00160 private:
00161 UDate fTime;
00162 TimeZoneRule* fFrom;
00163 TimeZoneRule* fTo;
00164
00165 public:
00177 static UClassID U_EXPORT2 getStaticClassID(void);
00178
00190 virtual UClassID getDynamicClassID(void) const;
00191 };
00192
00193 U_NAMESPACE_END
00194
00195 #endif
00196
00197 #endif
00198
00199 #endif // TZTRANS_H
00200
00201