150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/* 250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho******************************************************************************* 350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Copyright (C) 2009-2010, International Business Machines Corporation and * 450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* others. All Rights Reserved. * 550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho******************************************************************************* 650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho*/ 750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * \file 1050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * \brief C API: Time zone transition classes 1150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 1250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 1350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/utypes.h" 1427f654740f2a26ad62a5c155af9199af9e69b889claireho 1527f654740f2a26ad62a5c155af9199af9e69b889claireho#if !UCONFIG_NO_FORMATTING 1627f654740f2a26ad62a5c155af9199af9e69b889claireho 1750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/uobject.h" 1850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "ztrans.h" 1950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/tztrans.h" 2050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "cmemory.h" 2150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/ustring.h" 2250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#include "unicode/parsepos.h" 2350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_NAMESPACE_USE 2550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 2650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI ZTrans* U_EXPORT2 2750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_open(UDate time, const void* from, const void* to){ 2850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return (ZTrans*) new TimeZoneTransition(time,*(TimeZoneRule*)from,*(TimeZoneRule*)to); 2950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 3050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 3150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI ZTrans* U_EXPORT2 3250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_openEmpty() { 3350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return (ZTrans*) new TimeZoneTransition(); 3450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 3550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 3650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 3750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_close(ZTrans *trans) { 3850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho delete (TimeZoneTransition*)trans; 3950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 4050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI ZTrans* U_EXPORT2 4250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_clone(ZTrans *trans) { 4350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return (ZTrans*) (((TimeZoneTransition*)trans)->TimeZoneTransition::clone()); 4450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 4550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI UBool U_EXPORT2 4750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_equals(const ZTrans* trans1, const ZTrans* trans2){ 4850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return *(const TimeZoneTransition*)trans1 == *(const TimeZoneTransition*)trans2; 4950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 5050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI UDate U_EXPORT2 5250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_getTime(ZTrans* trans) { 5350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::getTime(); 5450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 5550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 5750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_setTime(ZTrans* trans, UDate time) { 5850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTime(time); 5950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 6050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 6150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void* U_EXPORT2 6250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_getFrom(ZTrans* & trans) { 6350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getFrom()); 6450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 6550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 6650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 6750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_setFrom(ZTrans* trans, const void* from) { 6850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::setFrom(*(TimeZoneRule*)from); 6950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 7050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 7250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_adoptFrom(ZTrans* trans, void* from) { 7350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptFrom((TimeZoneRule*)from); 7450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 7550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 7650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void* U_EXPORT2 7750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_getTo(ZTrans* trans){ 7850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getTo()); 7950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 8050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 8250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_setTo(ZTrans* trans, const void* to) { 8350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTo(*(TimeZoneRule*)to); 8450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 8550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 8650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI void U_EXPORT2 8750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_adoptTo(ZTrans* trans, void* to) { 8850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptTo((TimeZoneRule*)to); 8950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 9050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI UClassID U_EXPORT2 9250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_getStaticClassID(ZTrans* trans) { 9350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::getStaticClassID(); 9450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 9550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 9650294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI UClassID U_EXPORT2 9750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoztrans_getDynamicClassID(ZTrans* trans){ 9850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho return ((TimeZoneTransition*)trans)->TimeZoneTransition::getDynamicClassID(); 9950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho} 10027f654740f2a26ad62a5c155af9199af9e69b889claireho 10127f654740f2a26ad62a5c155af9199af9e69b889claireho#endif 102