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 15#if !UCONFIG_NO_FORMATTING 16 17#include "unicode/uobject.h" 18#include "ztrans.h" 19#include "unicode/tztrans.h" 20#include "cmemory.h" 21#include "unicode/ustring.h" 22#include "unicode/parsepos.h" 23 24U_NAMESPACE_USE 25 26U_CAPI ZTrans* U_EXPORT2 27ztrans_open(UDate time, const void* from, const void* to){ 28 return (ZTrans*) new TimeZoneTransition(time,*(TimeZoneRule*)from,*(TimeZoneRule*)to); 29} 30 31U_CAPI ZTrans* U_EXPORT2 32ztrans_openEmpty() { 33 return (ZTrans*) new TimeZoneTransition(); 34} 35 36U_CAPI void U_EXPORT2 37ztrans_close(ZTrans *trans) { 38 delete (TimeZoneTransition*)trans; 39} 40 41U_CAPI ZTrans* U_EXPORT2 42ztrans_clone(ZTrans *trans) { 43 return (ZTrans*) (((TimeZoneTransition*)trans)->TimeZoneTransition::clone()); 44} 45 46U_CAPI UBool U_EXPORT2 47ztrans_equals(const ZTrans* trans1, const ZTrans* trans2){ 48 return *(const TimeZoneTransition*)trans1 == *(const TimeZoneTransition*)trans2; 49} 50 51U_CAPI UDate U_EXPORT2 52ztrans_getTime(ZTrans* trans) { 53 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getTime(); 54} 55 56U_CAPI void U_EXPORT2 57ztrans_setTime(ZTrans* trans, UDate time) { 58 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTime(time); 59} 60 61U_CAPI void* U_EXPORT2 62ztrans_getFrom(ZTrans* & trans) { 63 return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getFrom()); 64} 65 66U_CAPI void U_EXPORT2 67ztrans_setFrom(ZTrans* trans, const void* from) { 68 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setFrom(*(TimeZoneRule*)from); 69} 70 71U_CAPI void U_EXPORT2 72ztrans_adoptFrom(ZTrans* trans, void* from) { 73 return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptFrom((TimeZoneRule*)from); 74} 75 76U_CAPI void* U_EXPORT2 77ztrans_getTo(ZTrans* trans){ 78 return (void*) (((TimeZoneTransition*)trans)->TimeZoneTransition::getTo()); 79} 80 81U_CAPI void U_EXPORT2 82ztrans_setTo(ZTrans* trans, const void* to) { 83 return ((TimeZoneTransition*)trans)->TimeZoneTransition::setTo(*(TimeZoneRule*)to); 84} 85 86U_CAPI void U_EXPORT2 87ztrans_adoptTo(ZTrans* trans, void* to) { 88 return ((TimeZoneTransition*)trans)->TimeZoneTransition::adoptTo((TimeZoneRule*)to); 89} 90 91U_CAPI UClassID U_EXPORT2 92ztrans_getStaticClassID(ZTrans* trans) { 93 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getStaticClassID(); 94} 95 96U_CAPI UClassID U_EXPORT2 97ztrans_getDynamicClassID(ZTrans* trans){ 98 return ((TimeZoneTransition*)trans)->TimeZoneTransition::getDynamicClassID(); 99} 100 101#endif 102