{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}

module Data.Managed.ProbeDescription
  ( ProbeDescription(..)
  ) where

import Data.Managed.Agent (ProbeID)
import GHC.Generics (Generic)

data ProbeDescription =
  ProbeDescription
    { ProbeDescription -> ProbeID
probeID :: ProbeID
    , ProbeDescription -> ProbeID
probeType :: String
    , ProbeDescription -> [ProbeID]
probeParams :: [String]
    , ProbeDescription -> ProbeID
probeReturns :: String
    }
  deriving (Int -> ProbeDescription -> ShowS
[ProbeDescription] -> ShowS
ProbeDescription -> ProbeID
(Int -> ProbeDescription -> ShowS)
-> (ProbeDescription -> ProbeID)
-> ([ProbeDescription] -> ShowS)
-> Show ProbeDescription
forall a.
(Int -> a -> ShowS) -> (a -> ProbeID) -> ([a] -> ShowS) -> Show a
showList :: [ProbeDescription] -> ShowS
$cshowList :: [ProbeDescription] -> ShowS
show :: ProbeDescription -> ProbeID
$cshow :: ProbeDescription -> ProbeID
showsPrec :: Int -> ProbeDescription -> ShowS
$cshowsPrec :: Int -> ProbeDescription -> ShowS
Show, ProbeDescription -> ProbeDescription -> Bool
(ProbeDescription -> ProbeDescription -> Bool)
-> (ProbeDescription -> ProbeDescription -> Bool)
-> Eq ProbeDescription
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ProbeDescription -> ProbeDescription -> Bool
$c/= :: ProbeDescription -> ProbeDescription -> Bool
== :: ProbeDescription -> ProbeDescription -> Bool
$c== :: ProbeDescription -> ProbeDescription -> Bool
Eq, (forall x. ProbeDescription -> Rep ProbeDescription x)
-> (forall x. Rep ProbeDescription x -> ProbeDescription)
-> Generic ProbeDescription
forall x. Rep ProbeDescription x -> ProbeDescription
forall x. ProbeDescription -> Rep ProbeDescription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ProbeDescription x -> ProbeDescription
$cfrom :: forall x. ProbeDescription -> Rep ProbeDescription x
Generic)