-- -- Copyright © 2013-2014 Anchor Systems, Pty Ltd and Others -- -- The code in this file, and the program it is a part of, is -- made available to you by its authors as open source software: -- you can redistribute it and/or modify it under the terms of -- the 3-clause BSD licence. -- {-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TupleSections #-} {-# LANGUAGE TypeFamilies #-} module Marquise.Types ( -- * Data SpoolName(..) , SpoolFiles(..) , TimeStamp(..) , SimplePoint(..), ExtendedPoint(..) , MarquiseException(..) ) where import Control.Exception import Data.Typeable import Vaultaire.Types -- | A NameSpace implies a certain amount of Marquise server-side state. This -- state being the Marquise server's authentication and origin configuration. newtype SpoolName = SpoolName { unSpoolName :: String } deriving (Eq, Show) -- | SpoolFiles simple wraps around two file paths. -- One for queuing points updates, one for queuing contents updates data SpoolFiles = SpoolFiles { pointsSpoolFile :: FilePath , contentsSpoolFile :: FilePath } deriving (Eq, Show) newtype MarquiseException = MarquiseException String deriving (Show, Typeable) instance Exception MarquiseException