From 8553c33f72c41e553cbef4e7175cef8cec3cdbe2 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Sat, 23 Jan 2016 14:47:59 +0000 Subject: Printer handling threads & printers handler --- server/src/Thermoprint/Server/Printer.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'server/src/Thermoprint/Server/Printer.hs') diff --git a/server/src/Thermoprint/Server/Printer.hs b/server/src/Thermoprint/Server/Printer.hs index 0db98a0..f34b2fa 100644 --- a/server/src/Thermoprint/Server/Printer.hs +++ b/server/src/Thermoprint/Server/Printer.hs @@ -8,7 +8,7 @@ {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} module Thermoprint.Server.Printer - ( Printer(..) + ( Printer(..), printer , Queue(..) , runPrinter ) where @@ -54,6 +54,9 @@ data Queue = Queue } deriving (Typeable, Generic, NFData) +printer :: (MonadIO m) => (forall m. (MonadIO m) => Printout -> m (Maybe PrintingError)) -> m Printer +printer f = Printer f <$> liftIO (newTVarIO $ Queue Seq.empty Nothing Seq.empty) + atomically' :: MonadIO m => STM a -> m a atomically' = liftIO . atomically -- cgit v1.2.3