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