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