{-# LANGUAGE DeriveAnyClass #-} module Hercules.Agent.WorkerProtocol.Event.Attribute where import Data.Binary import Protolude import Prelude () data AttributeType = Regular | MustFail | MayFail | DependenciesOnly | Effect deriving ((forall x. AttributeType -> Rep AttributeType x) -> (forall x. Rep AttributeType x -> AttributeType) -> Generic AttributeType forall x. Rep AttributeType x -> AttributeType forall x. AttributeType -> Rep AttributeType x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. AttributeType -> Rep AttributeType x from :: forall x. AttributeType -> Rep AttributeType x $cto :: forall x. Rep AttributeType x -> AttributeType to :: forall x. Rep AttributeType x -> AttributeType Generic, Get AttributeType [AttributeType] -> Put AttributeType -> Put (AttributeType -> Put) -> Get AttributeType -> ([AttributeType] -> Put) -> Binary AttributeType forall t. (t -> Put) -> Get t -> ([t] -> Put) -> Binary t $cput :: AttributeType -> Put put :: AttributeType -> Put $cget :: Get AttributeType get :: Get AttributeType $cputList :: [AttributeType] -> Put putList :: [AttributeType] -> Put Binary, Int -> AttributeType -> ShowS [AttributeType] -> ShowS AttributeType -> String (Int -> AttributeType -> ShowS) -> (AttributeType -> String) -> ([AttributeType] -> ShowS) -> Show AttributeType forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> AttributeType -> ShowS showsPrec :: Int -> AttributeType -> ShowS $cshow :: AttributeType -> String show :: AttributeType -> String $cshowList :: [AttributeType] -> ShowS showList :: [AttributeType] -> ShowS Show, AttributeType -> AttributeType -> Bool (AttributeType -> AttributeType -> Bool) -> (AttributeType -> AttributeType -> Bool) -> Eq AttributeType forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: AttributeType -> AttributeType -> Bool == :: AttributeType -> AttributeType -> Bool $c/= :: AttributeType -> AttributeType -> Bool /= :: AttributeType -> AttributeType -> Bool Eq) data Attribute = Attribute { Attribute -> [ByteString] path :: [ByteString], Attribute -> ByteString drv :: ByteString, Attribute -> AttributeType typ :: AttributeType } deriving ((forall x. Attribute -> Rep Attribute x) -> (forall x. Rep Attribute x -> Attribute) -> Generic Attribute forall x. Rep Attribute x -> Attribute forall x. Attribute -> Rep Attribute x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. Attribute -> Rep Attribute x from :: forall x. Attribute -> Rep Attribute x $cto :: forall x. Rep Attribute x -> Attribute to :: forall x. Rep Attribute x -> Attribute Generic, Get Attribute [Attribute] -> Put Attribute -> Put (Attribute -> Put) -> Get Attribute -> ([Attribute] -> Put) -> Binary Attribute forall t. (t -> Put) -> Get t -> ([t] -> Put) -> Binary t $cput :: Attribute -> Put put :: Attribute -> Put $cget :: Get Attribute get :: Get Attribute $cputList :: [Attribute] -> Put putList :: [Attribute] -> Put Binary, Int -> Attribute -> ShowS [Attribute] -> ShowS Attribute -> String (Int -> Attribute -> ShowS) -> (Attribute -> String) -> ([Attribute] -> ShowS) -> Show Attribute forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Attribute -> ShowS showsPrec :: Int -> Attribute -> ShowS $cshow :: Attribute -> String show :: Attribute -> String $cshowList :: [Attribute] -> ShowS showList :: [Attribute] -> ShowS Show, Attribute -> Attribute -> Bool (Attribute -> Attribute -> Bool) -> (Attribute -> Attribute -> Bool) -> Eq Attribute forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Attribute -> Attribute -> Bool == :: Attribute -> Attribute -> Bool $c/= :: Attribute -> Attribute -> Bool /= :: Attribute -> Attribute -> Bool Eq)