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