aboutsummaryrefslogtreecommitdiff
path: root/server/src/Thermoprint/Server/Printer.hs
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2016-01-23 12:52:15 +0000
committerGregor Kleen <gkleen@yggdrasil.li>2016-01-23 12:52:15 +0000
commitb508a6bd35d28260f307acf8ffde8b7acf843a09 (patch)
treef3f18a35cf66fa897d93c874a6fc05672239d7ab /server/src/Thermoprint/Server/Printer.hs
parenta8e274ee830bb6f72609295803d8ee37a36ea481 (diff)
downloadthermoprint-b508a6bd35d28260f307acf8ffde8b7acf843a09.tar
thermoprint-b508a6bd35d28260f307acf8ffde8b7acf843a09.tar.gz
thermoprint-b508a6bd35d28260f307acf8ffde8b7acf843a09.tar.bz2
thermoprint-b508a6bd35d28260f307acf8ffde8b7acf843a09.tar.xz
thermoprint-b508a6bd35d28260f307acf8ffde8b7acf843a09.zip
Db layout, persistent-inst. & printer framework
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