aboutsummaryrefslogtreecommitdiff
path: root/server/src/Thermoprint/Server/Printer.hs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/Thermoprint/Server/Printer.hs')
-rw-r--r--server/src/Thermoprint/Server/Printer.hs29
1 files changed, 29 insertions, 0 deletions
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 @@
1{-# LANGUAGE RankNTypes #-}
2
3module Thermoprint.Server.Printer
4 ( Printer
5 ) where
6
7import Thermoprint.API (PrintingError(..), Printout)
8
9import Thermoprint.Server.Database
10
11import Database.Persist
12import Database.Persist.Sql
13
14import Data.Sequence (Seq, ViewL(..))
15import qualified Data.Sequence as Seq
16import Data.Map (Map)
17import qualified Data.Map as Map
18
19import Control.Monad.IO.Class (MonadIO)
20
21import Control.Concurrent.STM
22
23data Printer = Printer
24 { print :: forall m. (MonadIO m) => Printout -> m (Maybe PrintingError)
25 , queue :: TVar (Seq JobId)
26 }
27
28runPrinter :: Printer -> IO ()
29runPrinter = undefined