marquise-4.0.0: lib/Marquise/Types.hs
--
-- 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