From b508a6bd35d28260f307acf8ffde8b7acf843a09 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sat, 23 Jan 2016 12:52:15 +0000 Subject: Db layout, persistent-inst. & printer framework --- server/src/Thermoprint/Server/Printer.hs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 server/src/Thermoprint/Server/Printer.hs (limited to 'server/src/Thermoprint/Server/Printer.hs') diff --git a/server/src/Thermoprint/Server/Printer.hs b/server/src/Thermoprint/Server/Printer.hs new file mode 100644 index 0000000..e66afff --- /dev/null +++ b/server/src/Thermoprint/Server/Printer.hs @@ -0,0 +1,29 @@ +{-# LANGUAGE RankNTypes #-} + +module Thermoprint.Server.Printer + ( Printer + ) where + +import Thermoprint.API (PrintingError(..), Printout) + +import Thermoprint.Server.Database + +import Database.Persist +import Database.Persist.Sql + +import Data.Sequence (Seq, ViewL(..)) +import qualified Data.Sequence as Seq +import Data.Map (Map) +import qualified Data.Map as Map + +import Control.Monad.IO.Class (MonadIO) + +import Control.Concurrent.STM + +data Printer = Printer + { print :: forall m. (MonadIO m) => Printout -> m (Maybe PrintingError) + , queue :: TVar (Seq JobId) + } + +runPrinter :: Printer -> IO () +runPrinter = undefined -- cgit v1.2.3