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