diff options
Diffstat (limited to 'Types.hs')
-rw-r--r-- | Types.hs | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -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 |