{-# LANGUAGE DeriveDataTypeable #-}

{- |
   Maintainer:  simons@cryp.to
   Stability:   provisional
   Portability: portable
 -}

module Distribution.Hackage.DB.Errors where

import Codec.Archive.Tar
import Control.Exception
import Data.Typeable ( Typeable )
import Distribution.Package
import Distribution.Version

data HackageDBTarball a = HackageDBTarball FilePath a deriving (Int -> HackageDBTarball a -> ShowS
forall a. Show a => Int -> HackageDBTarball a -> ShowS
forall a. Show a => [HackageDBTarball a] -> ShowS
forall a. Show a => HackageDBTarball a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBTarball a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBTarball a] -> ShowS
show :: HackageDBTarball a -> String
$cshow :: forall a. Show a => HackageDBTarball a -> String
showsPrec :: Int -> HackageDBTarball a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBTarball a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBTarball a)

data HackageDBPackageName a = HackageDBPackageName PackageName a deriving (Int -> HackageDBPackageName a -> ShowS
forall a. Show a => Int -> HackageDBPackageName a -> ShowS
forall a. Show a => [HackageDBPackageName a] -> ShowS
forall a. Show a => HackageDBPackageName a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBPackageName a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBPackageName a] -> ShowS
show :: HackageDBPackageName a -> String
$cshow :: forall a. Show a => HackageDBPackageName a -> String
showsPrec :: Int -> HackageDBPackageName a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBPackageName a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageName a)

data HackageDBPackageVersion a = HackageDBPackageVersion Version a deriving (Int -> HackageDBPackageVersion a -> ShowS
forall a. Show a => Int -> HackageDBPackageVersion a -> ShowS
forall a. Show a => [HackageDBPackageVersion a] -> ShowS
forall a. Show a => HackageDBPackageVersion a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [HackageDBPackageVersion a] -> ShowS
$cshowList :: forall a. Show a => [HackageDBPackageVersion a] -> ShowS
show :: HackageDBPackageVersion a -> String
$cshow :: forall a. Show a => HackageDBPackageVersion a -> String
showsPrec :: Int -> HackageDBPackageVersion a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> HackageDBPackageVersion a -> ShowS
Show, Typeable)
instance (Show a, Typeable a) => Exception (HackageDBPackageVersion a)

newtype IncorrectTarfile = IncorrectTarfile FormatError deriving (Int -> IncorrectTarfile -> ShowS
[IncorrectTarfile] -> ShowS
IncorrectTarfile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [IncorrectTarfile] -> ShowS
$cshowList :: [IncorrectTarfile] -> ShowS
show :: IncorrectTarfile -> String
$cshow :: IncorrectTarfile -> String
showsPrec :: Int -> IncorrectTarfile -> ShowS
$cshowsPrec :: Int -> IncorrectTarfile -> ShowS
Show, Typeable)
instance Exception IncorrectTarfile

newtype UnsupportedTarEntry = UnsupportedTarEntry Entry deriving (Int -> UnsupportedTarEntry -> ShowS
[UnsupportedTarEntry] -> ShowS
UnsupportedTarEntry -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UnsupportedTarEntry] -> ShowS
$cshowList :: [UnsupportedTarEntry] -> ShowS
show :: UnsupportedTarEntry -> String
$cshow :: UnsupportedTarEntry -> String
showsPrec :: Int -> UnsupportedTarEntry -> ShowS
$cshowsPrec :: Int -> UnsupportedTarEntry -> ShowS
Show, Typeable)
instance Exception UnsupportedTarEntry

newtype InvalidMetaFile = InvalidMetaFile String deriving (Int -> InvalidMetaFile -> ShowS
[InvalidMetaFile] -> ShowS
InvalidMetaFile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidMetaFile] -> ShowS
$cshowList :: [InvalidMetaFile] -> ShowS
show :: InvalidMetaFile -> String
$cshow :: InvalidMetaFile -> String
showsPrec :: Int -> InvalidMetaFile -> ShowS
$cshowsPrec :: Int -> InvalidMetaFile -> ShowS
Show, Typeable)
instance Exception InvalidMetaFile

newtype InvalidCabalFile = InvalidCabalFile String deriving (Int -> InvalidCabalFile -> ShowS
[InvalidCabalFile] -> ShowS
InvalidCabalFile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidCabalFile] -> ShowS
$cshowList :: [InvalidCabalFile] -> ShowS
show :: InvalidCabalFile -> String
$cshow :: InvalidCabalFile -> String
showsPrec :: Int -> InvalidCabalFile -> ShowS
$cshowsPrec :: Int -> InvalidCabalFile -> ShowS
Show, Typeable)
instance Exception InvalidCabalFile

data InvalidRepresentationOfType = InvalidRepresentationOfType String String deriving (Int -> InvalidRepresentationOfType -> ShowS
[InvalidRepresentationOfType] -> ShowS
InvalidRepresentationOfType -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [InvalidRepresentationOfType] -> ShowS
$cshowList :: [InvalidRepresentationOfType] -> ShowS
show :: InvalidRepresentationOfType -> String
$cshow :: InvalidRepresentationOfType -> String
showsPrec :: Int -> InvalidRepresentationOfType -> ShowS
$cshowsPrec :: Int -> InvalidRepresentationOfType -> ShowS
Show, Typeable)
instance Exception InvalidRepresentationOfType

data NoHackageTarballFound = NoHackageTarballFound deriving (Int -> NoHackageTarballFound -> ShowS
[NoHackageTarballFound] -> ShowS
NoHackageTarballFound -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [NoHackageTarballFound] -> ShowS
$cshowList :: [NoHackageTarballFound] -> ShowS
show :: NoHackageTarballFound -> String
$cshow :: NoHackageTarballFound -> String
showsPrec :: Int -> NoHackageTarballFound -> ShowS
$cshowsPrec :: Int -> NoHackageTarballFound -> ShowS
Show, Typeable)
instance Exception NoHackageTarballFound