summaryrefslogtreecommitdiffhomepage
path: root/Types.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Types.hs')
-rw-r--r--Types.hs14
1 files changed, 12 insertions, 2 deletions
diff --git a/Types.hs b/Types.hs
index 8f00793..79ce289 100644
--- a/Types.hs
+++ b/Types.hs
@@ -159,12 +159,13 @@ instance DataSize PublicKey where
-- | A value that may be gpg signed.
data PerhapsSigned a
- = GpgSigned a GpgSig
+ = GpgSigned a GpgSig GpgKeyExport
| UnSigned a
deriving (Show, Generic, Eq)
instance DataSize a => DataSize (PerhapsSigned a) where
- dataSize (GpgSigned a sig) = dataSize a + dataSize sig
+ dataSize (GpgSigned a sig export) =
+ dataSize a + dataSize sig + dataSize export
dataSize (UnSigned a) = dataSize a
-- | A signature made with a gpg key.
@@ -174,6 +175,13 @@ newtype GpgSig = GpgSig Val
instance DataSize GpgSig where
dataSize (GpgSig s) = dataSize s
+-- | An export of a gpg public key.
+newtype GpgKeyExport = GpgKeyExport Val
+ deriving (Show, Generic, Eq)
+
+instance DataSize GpgKeyExport where
+ dataSize (GpgKeyExport k) = dataSize k
+
-- | Elapsed time in seconds.
newtype ElapsedTime = ElapsedTime Double
deriving (Show, Generic, Eq)
@@ -224,6 +232,8 @@ instance ToJSON PublicKey
instance FromJSON PublicKey
instance ToJSON GpgSig
instance FromJSON GpgSig
+instance ToJSON GpgKeyExport
+instance FromJSON GpgKeyExport
instance ToJSON (Message Seen) where
toJSON = genericToJSON sumOptions