module Navi.Services.Types
( ServiceType (..),
)
where
import Navi.Prelude
import Pythia.Data.Command (Command)
import Pythia.Services.Battery (Battery, BatteryApp, BatteryStatus)
import Pythia.Services.NetInterface (Device, NetInterface, NetInterfaceApp)
type ServiceType :: Type -> Type
data ServiceType result where
BatteryPercentage :: !BatteryApp -> ServiceType Battery
BatteryStatus :: !BatteryApp -> ServiceType BatteryStatus
NetworkInterface :: !Device -> !NetInterfaceApp -> ServiceType NetInterface
Single :: !Command -> ServiceType Text
Multiple :: !Command -> ServiceType Text
deriving stock instance Show (ServiceType result)
deriving stock instance Eq (ServiceType result)