module Debian.Dpkg.Enums (
PkgWant(..)
, PkgEflag(..)
, PkgStatus(..)
, PkgPriority(..)
) where
import Foreign.C.Types
import Foreign.C.String
import Foreign.Ptr
import Foreign.Storable
data PkgWant = Want_unknown
| Want_install
| Want_hold
| Want_deinstall
| Want_purge
| Want_sentinel
deriving (Enum,Eq,Show)
data PkgEflag = Eflag_ok
| Eflag_reinstreq
deriving (Eq,Show)
instance Enum PkgEflag where
fromEnum Eflag_ok = 0
fromEnum Eflag_reinstreq = 1
toEnum 0 = Eflag_ok
toEnum 1 = Eflag_reinstreq
toEnum unmatched = error ("PkgEflag.toEnum: Cannot match " ++ show unmatched)
data PkgStatus = Stat_notinstalled
| Stat_configfiles
| Stat_halfinstalled
| Stat_unpacked
| Stat_halfconfigured
| Stat_triggersawaited
| Stat_triggerspending
| Stat_installed
deriving (Enum,Eq,Show)
data PkgPriority = Pri_required
| Pri_important
| Pri_standard
| Pri_optional
| Pri_extra
| Pri_other
| Pri_unknown
| Pri_unset
deriving (Eq,Show)
instance Enum PkgPriority where
fromEnum Pri_required = 0
fromEnum Pri_important = 1
fromEnum Pri_standard = 2
fromEnum Pri_optional = 3
fromEnum Pri_extra = 4
fromEnum Pri_other = 5
fromEnum Pri_unknown = 6
fromEnum Pri_unset = (1)
toEnum 0 = Pri_required
toEnum 1 = Pri_important
toEnum 2 = Pri_standard
toEnum 3 = Pri_optional
toEnum 4 = Pri_extra
toEnum 5 = Pri_other
toEnum 6 = Pri_unknown
toEnum (1) = Pri_unset
toEnum unmatched = error ("PkgPriority.toEnum: Cannot match " ++ show unmatched)