mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-14 01:11:02 +00:00
add constructors from mem-mapped data
X-Trac-URL: https://ssl.icu-project.org/trac/ticket/65 git-svn-id: http://source.icu-project.org/repos/icu/icu/trunk@304 0a8b766c-62c9-45f9-954d-7f2943c9ead0
This commit is contained in:
parent
6d945fdb0b
commit
7ed481d7ee
2 changed files with 42 additions and 1 deletions
|
@ -23,7 +23,7 @@
|
|||
|
||||
#include "simpletz.h"
|
||||
#include "gregocal.h"
|
||||
|
||||
#include "tzdat.h"
|
||||
|
||||
char SimpleTimeZone::fgClassID = 0; // Value is irrelevant
|
||||
|
||||
|
@ -107,6 +107,36 @@ SimpleTimeZone::SimpleTimeZone(int32_t rawOffset, const UnicodeString& ID,
|
|||
dstSavings, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct from memory-mapped data. For private use by TimeZone.
|
||||
*/
|
||||
SimpleTimeZone::SimpleTimeZone(const StandardZone& stdZone,
|
||||
const UnicodeString& id) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
construct(stdZone.gmtOffset, id,
|
||||
0, 0, 0, 0, WALL_TIME,
|
||||
0, 0, 0, 0, WALL_TIME,
|
||||
0, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct from memory-mapped data. For private use by TimeZone.
|
||||
*/
|
||||
SimpleTimeZone::SimpleTimeZone(const DSTZone& dstZone,
|
||||
const UnicodeString& id) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
construct(dstZone.gmtOffset, id,
|
||||
dstZone.onsetRule.month, dstZone.onsetRule.dowim,
|
||||
dstZone.onsetRule.dow,
|
||||
dstZone.onsetRule.time * (int32_t)60000,
|
||||
(TimeMode)dstZone.onsetRule.mode,
|
||||
dstZone.ceaseRule.month, dstZone.ceaseRule.dowim,
|
||||
dstZone.ceaseRule.dow,
|
||||
dstZone.ceaseRule.time * (int32_t)60000,
|
||||
(TimeMode)dstZone.ceaseRule.mode,
|
||||
dstZone.dstSavings * (int32_t)60000, status);
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal construction method.
|
||||
*/
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
|
||||
#include "timezone.h"
|
||||
|
||||
struct StandardZone;
|
||||
struct DSTZone;
|
||||
|
||||
/**
|
||||
* <code>SimpleTimeZone</code> is a concrete subclass of <code>TimeZone</code>
|
||||
* that represents a time zone for use with a Gregorian calendar. This
|
||||
|
@ -475,6 +478,14 @@ private:
|
|||
DOW_LE_DOM_MODE
|
||||
};
|
||||
|
||||
friend class TimeZone; // for access to these 2 constructors:
|
||||
|
||||
/**
|
||||
* Construct from memory-mapped data.
|
||||
*/
|
||||
SimpleTimeZone(const StandardZone& stdZone, const UnicodeString& id);
|
||||
SimpleTimeZone(const DSTZone& dstZone, const UnicodeString& id);
|
||||
|
||||
/**
|
||||
* Internal construction method.
|
||||
*/
|
||||
|
|
Loading…
Add table
Reference in a new issue