1/* 2******************************************************************************* 3* Copyright (C) 2009-2010, International Business Machines Corporation and * 4* others. All Rights Reserved. * 5******************************************************************************* 6*/ 7 8/** 9 * \file 10 * \brief C API: Time zone transition classes 11 */ 12 13#include "unicode/utypes.h" 14#include "unicode/utypes.h" 15#include "unicode/uobject.h" 16#include "ztrans.h" 17#include "unicode/tztrans.h" 18#include "cmemory.h" 19#include "unicode/ustring.h" 20#include "unicode/parsepos.h" 21 22U_NAMESPACE_USE 23 24U_CAPI ZTrans* U_EXPORT2 25ztrans_open(UDate time, const void* from, const void* to){ 26 return (ZTrans*) new TimeZoneTransition(time,*(TimeZoneRule*)from,*(TimeZoneRule*)to); 27} 28 29U_CAPI ZTrans* U_EXPORT2 30ztrans_openEmpty() { 31 return (ZTrans*) new TimeZoneTransition(); 32} 33 34U_CAPI void U_EXPORT2 35ztrans_close(ZTrans *trans) { 36 delete (TimeZoneTransition*)trans; 37} 38 39U_CAPI ZTrans* U_EXPORT2 40ztrans_clone(ZTrans *trans) { 41 return (ZTrans*) (((TimeZoneTransition*)trans)->TimeZoneTransition::clone()); 42} 43 44U_CAPI UBool U_EXPORT2 45ztrans_equals(const ZTrans* trans1, const ZTrans* trans2){ 46 return *(const TimeZoneTransition*)trans1 == *(const TimeZoneTransition*)trans2; 47} 48 49U_CAPI UDate U_EXPORT2 50ztrans_getTime(ZTrans* trans) { 51 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getTime(); 52} 53 54U_CAPI void U_EXPORT2 55ztrans_setTime(ZTrans* trans, UDate time) { 56 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTime(time); 57} 58 59U_CAPI void* U_EXPORT2 60ztrans_getFrom(ZTrans* & trans) { 61 return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getFrom()); 62} 63 64U_CAPI void U_EXPORT2 65ztrans_setFrom(ZTrans* trans, const void* from) { 66 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setFrom(*(TimeZoneRule*)from); 67} 68 69U_CAPI void U_EXPORT2 70ztrans_adoptFrom(ZTrans* trans, void* from) { 71 return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptFrom((TimeZoneRule*)from); 72} 73 74U_CAPI void* U_EXPORT2 75ztrans_getTo(ZTrans* trans){ 76 return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getTo()); 77} 78 79U_CAPI void U_EXPORT2 80ztrans_setTo(ZTrans* trans, const void* to) { 81 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTo(*(TimeZoneRule*)to); 82} 83 84U_CAPI void U_EXPORT2 85ztrans_adoptTo(ZTrans* trans, void* to) { 86 return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptTo((TimeZoneRule*)to); 87} 88 89U_CAPI UClassID U_EXPORT2 90ztrans_getStaticClassID(ZTrans* trans) { 91 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getStaticClassID(); 92} 93 94U_CAPI UClassID U_EXPORT2 95ztrans_getDynamicClassID(ZTrans* trans){ 96 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getDynamicClassID(); 97} 98