diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2016-02-14 21:43:05 +0000 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2016-02-14 21:43:05 +0000 |
commit | d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43 (patch) | |
tree | e6a84c523f38d4d723cf8f55457ea45ccbfd61e3 /spec | |
parent | 575a06949d7271734db4d52fe512981d6c0e139d (diff) | |
download | thermoprint-d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43.tar thermoprint-d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43.tar.gz thermoprint-d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43.tar.bz2 thermoprint-d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43.tar.xz thermoprint-d4c2170b56b94497e37c94e5e3c9ee6f18a2ed43.zip |
Some more useful constructors for PrintingError
Diffstat (limited to 'spec')
-rw-r--r-- | spec/src/Thermoprint/API.hs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/spec/src/Thermoprint/API.hs b/spec/src/Thermoprint/API.hs index 6c020fc..6f7fc02 100644 --- a/spec/src/Thermoprint/API.hs +++ b/spec/src/Thermoprint/API.hs | |||
@@ -1,5 +1,6 @@ | |||
1 | {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} | 1 | {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} |
2 | {-# LANGUAGE TypeOperators, DataKinds #-} | 2 | {-# LANGUAGE TypeOperators, DataKinds #-} |
3 | {-# LANGUAGE StandaloneDeriving #-} | ||
3 | {-# LANGUAGE OverloadedStrings #-} | 4 | {-# LANGUAGE OverloadedStrings #-} |
4 | 5 | ||
5 | -- | A specification of an API for interacting with a set of printers | 6 | -- | A specification of an API for interacting with a set of printers |
@@ -59,8 +60,16 @@ data JobStatus = Queued PrinterId | |||
59 | | Failed PrintingError | 60 | | Failed PrintingError |
60 | deriving (Generic, Show, FromJSON, ToJSON) | 61 | deriving (Generic, Show, FromJSON, ToJSON) |
61 | 62 | ||
62 | data PrintingError = UnknownError | 63 | deriving instance Generic EncodingException |
63 | deriving (Typeable, Generic, NFData, Show, FromJSON, ToJSON, Exception) | 64 | deriving instance NFData EncodingException |
65 | deriving instance FromJSON EncodingException | ||
66 | deriving instance ToJSON EncodingException | ||
67 | |||
68 | data PrintingError = IOError String -- ^ Not the actual error because we can't marshal that to JSON | ||
69 | | EncError EncodingException -- ^ Could not encode some part of the 'Printout' | ||
70 | deriving (Typeable, Generic, NFData, Show, FromJSON, ToJSON) | ||
71 | |||
72 | instance Exception PrintingError | ||
64 | 73 | ||
65 | type DraftTitle = Text | 74 | type DraftTitle = Text |
66 | 75 | ||