1{-# LANGUAGE CPP #-}
2{-
3Compatibility wrapper to help manage the transition from
4old-time to time packages. Only used at all on win32.
5-}
6module System.PosixCompat.Internal.Time (
7      ClockTime
8    , getClockTime
9    , clockTimeToEpochTime
10    ) where
11
12import System.Posix.Types (EpochTime)
13
14#ifdef OLD_TIME
15
16import System.Time (ClockTime(TOD), getClockTime)
17
18clockTimeToEpochTime :: ClockTime -> EpochTime
19clockTimeToEpochTime (TOD s _) = fromInteger s
20
21#else
22
23import Data.Time.Clock.POSIX (POSIXTime, getPOSIXTime)
24
25type ClockTime = POSIXTime
26
27getClockTime :: IO ClockTime
28getClockTime = getPOSIXTime
29
30clockTimeToEpochTime :: ClockTime -> EpochTime
31clockTimeToEpochTime = fromInteger . floor
32
33#endif
34