module Data.HodaTime.TimeZone.Platform
(
   loadUTC
  ,loadLocalZone
  ,loadTimeZone
  ,loadAvailableZones
)
where

import Data.HodaTime.TimeZone.Internal
import qualified Data.HodaTime.TimeZone.Unix as U

loadUTC :: IO (UtcTransitionsMap, CalDateTransitionsMap)
loadUTC :: IO (UtcTransitionsMap, CalDateTransitionsMap)
loadUTC = LoadZoneFromOlsonFile
-> IO (UtcTransitionsMap, CalDateTransitionsMap)
U.loadUTC LoadZoneFromOlsonFile
loadZoneFromOlsonFile

loadLocalZone :: IO (UtcTransitionsMap, CalDateTransitionsMap, String)
loadLocalZone :: IO (UtcTransitionsMap, CalDateTransitionsMap, String)
loadLocalZone = LoadZoneFromOlsonFile
-> IO (UtcTransitionsMap, CalDateTransitionsMap, String)
U.loadLocalZone LoadZoneFromOlsonFile
loadZoneFromOlsonFile

loadTimeZone :: String -> IO (UtcTransitionsMap, CalDateTransitionsMap)
loadTimeZone :: LoadZoneFromOlsonFile
loadTimeZone = LoadZoneFromOlsonFile -> LoadZoneFromOlsonFile
U.loadTimeZone LoadZoneFromOlsonFile
loadZoneFromOlsonFile

loadZoneFromOlsonFile :: FilePath -> IO (UtcTransitionsMap, CalDateTransitionsMap)
loadZoneFromOlsonFile :: LoadZoneFromOlsonFile
loadZoneFromOlsonFile = LoadZoneFromOlsonFile
U.defaultLoadZoneFromOlsonFile

loadAvailableZones :: IO [String]
loadAvailableZones :: IO [String]
loadAvailableZones = IO [String]
U.loadAvailableZones