# Timezone.hpp

Go to the documentation of this file.

    00001 /*
    00002  * Copyright (c) 2001-2006
    00003  *     DecisionSoft Limited. All rights reserved.
    00004  * Copyright (c) 2004-2006
    00005  *     Progress Software Corporation. All rights reserved.
    00006  * Copyright (c) 2004-2006
    00007  *     Oracle. All rights reserved.
    00008  *
    00009  * See the file LICENSE for redistribution information.
    00010  *
    00011  * $Id: Timezone.hpp,v 1.12 2006/11/01 16:37:14 jpcs Exp $
    00012  */
    00013
    00014 #ifndef _TZONE_HPP
    00015 #define _TZONE_HPP
    00016
    00017 #include <xqilla/framework/XQillaExport.hpp>
    00018 #include <xqilla/framework/ReferenceCounted.hpp>
    00019 #include <xqilla/items/ATDurationOrDerived.hpp>
    00020 #include <xqilla/mapm/m_apm.h>
    00021
    00022 #include <xercesc/util/XercesDefs.hpp>
    00023
    00024 class DynamicContext;
    00025
    00026 class XQILLA_API Timezone : public ReferenceCounted
    00027 {
    00028 public :
    00029   typedef RefCountPointer<const Timezone> Ptr;
    00030
    00034   Timezone(const MAPM &seconds);
    00035
    00039   Timezone(const ATDurationOrDerived::Ptr &duration, const DynamicContext* context);
    00040
    00044   bool equals(const Timezone::Ptr &other) const;
    00045
    00046   ATDurationOrDerived::Ptr asDayTimeDuration(const DynamicContext* context) const;
    00047
    00052   const XMLCh* asString(const DynamicContext* context) const;
    00053
    00057   const MAPM &asSeconds() const { return seconds_; }
    00058
    00059   static MAPM convert(bool positive, int hour, int minute);
    00060
    00061   static void validate(const MAPM &tz);
    00062
    00063 private:
    00064   MAPM seconds_;
    00065 };
    00066
    00067 #endif // _TZONE_HPP
    00068
    00069