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