summaryrefslogtreecommitdiff
path: root/Types/UUID.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types/UUID.hs')
-rw-r--r--Types/UUID.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Types/UUID.hs b/Types/UUID.hs
index 4212eaa7f..f5c9cda30 100644
--- a/Types/UUID.hs
+++ b/Types/UUID.hs
@@ -13,6 +13,8 @@ import qualified Data.Map as M
import qualified Data.UUID as U
import Data.Maybe
+import qualified Utility.SimpleProtocol as Proto
+
-- A UUID is either an arbitrary opaque string, or UUID info may be missing.
data UUID = NoUUID | UUID String
deriving (Eq, Ord, Show, Read)
@@ -35,3 +37,7 @@ isUUID :: String -> Bool
isUUID = isJust . U.fromString
type UUIDMap = M.Map UUID String
+
+instance Proto.Serializable UUID where
+ serialize = fromUUID
+ deserialize = Just . toUUID