| Index: runtime/vm/os.h
|
| diff --git a/runtime/vm/os.h b/runtime/vm/os.h
|
| index 2c0fbb93cc704e202c85b489be3a7dc94ef469bb..022d21e0108d84d70ad9f65936169c3369aecb14 100644
|
| --- a/runtime/vm/os.h
|
| +++ b/runtime/vm/os.h
|
| @@ -7,9 +7,6 @@
|
|
|
| #include "vm/globals.h"
|
|
|
| -// Forward declarations.
|
| -class tm;
|
| -
|
| namespace dart {
|
|
|
| // Forward declarations.
|
| @@ -18,29 +15,30 @@ class Isolate;
|
| // Interface to the underlying OS platform.
|
| class OS {
|
| public:
|
| - // Takes the seconds since epoch (midnight, January 1, 1970 UTC) and breaks it
|
| - // down into date and time in the UTC timezone.
|
| - // The returned year is offset by 1900. The returned month is 0-based.
|
| - // Returns true if the conversion succeeds, false otherwise.
|
| - static bool GmTime(int64_t seconds_since_epoch, tm* tm_result);
|
| + typedef struct BrokenDownDate {
|
| + int year; // Offset by 1900. A value of 111 Represents the year 2011.
|
| + int month; // [0..11]
|
| + int day; // [1..31]
|
| + int hours;
|
| + int minutes;
|
| + int seconds;
|
| + } BrokenDownDate;
|
|
|
| // Takes the seconds since epoch (midnight, January 1, 1970 UTC) and breaks it
|
| - // down into date and time in the local time.
|
| + // down into date and time.
|
| + // If 'inUtc', then the broken down date and time are in the UTC timezone,
|
| + // otherwise the local timezone is used.
|
| // The returned year is offset by 1900. The returned month is 0-based.
|
| // Returns true if the conversion succeeds, false otherwise.
|
| - static bool LocalTime(int64_t seconds_since_epoch, tm* tm_result);
|
| -
|
| - // Takes the broken down date and time in UTC timezone and computes the
|
| - // seconds since epoch (midnight, January 1, 1970 UTC).
|
| - // The given year is offset by 1900. The given month is 0-based.
|
| - // Returns true if the conversion succeeds, false otherwise.
|
| - static bool MkGmTime(tm* tm, int64_t* seconds_result);
|
| -
|
| - // Takes the broken down date and time in local timezone and computes the
|
| - // seconds since epoch (midnight, January 1, 1970 UTC).
|
| - // The given year is offset by 1900. The given month is 0-based.
|
| - // Returns true if the conversion succeeds, false otherwise.
|
| - static bool MkTime(tm* tm, int64_t* seconds_result);
|
| + static bool BreakDownSecondsSinceEpoch(time_t seconds_since_epoch,
|
| + bool in_utc,
|
| + BrokenDownDate* result);
|
| +
|
| + // Converts a broken down date into the seconds since epoch (midnight,
|
| + // January 1, 1970 UTC). Returns true if the conversion succeeds, false
|
| + // otherwise.
|
| + static bool BrokenDownToSecondsSinceEpoch(
|
| + const BrokenDownDate& broken_down, bool in_utc, time_t* result);
|
|
|
| // Returns the current time in milliseconds measured
|
| // from midnight January 1, 1970 UTC.
|
|
|