navi-0.1: A utility program for sending system notifications.
Safe HaskellSafe-Inferred
LanguageGHC2021

Navi.Env.Core

Description

This module provides the core Env type for Navi.

Synopsis

HasX-style Typeclasses

class HasEvents env where Source #

Retrieves the events.

Instances

Instances details
HasEvents Env Source # 
Instance details

Defined in Navi.Env.Core

HasEvents DBusEnv Source # 
Instance details

Defined in Navi.Env.DBus

HasEvents NotifySendEnv Source # 
Instance details

Defined in Navi.Env.NotifySend

class HasLogEnv env where Source #

Retrieves the log environment.

Methods

getLogEnv :: env -> LogEnv Source #

localLogEnv :: (LogEnv -> LogEnv) -> env -> env Source #

Instances

Instances details
HasLogEnv Env Source # 
Instance details

Defined in Navi.Env.Core

HasLogEnv DBusEnv Source # 
Instance details

Defined in Navi.Env.DBus

HasLogEnv NotifySendEnv Source # 
Instance details

Defined in Navi.Env.NotifySend

class HasLogQueue env where Source #

Retrieves the log queue.

Methods

getLogQueue :: env -> TBQueue LogStr Source #

Instances

Instances details
HasLogQueue Env Source # 
Instance details

Defined in Navi.Env.Core

HasLogQueue DBusEnv Source # 
Instance details

Defined in Navi.Env.DBus

HasLogQueue NotifySendEnv Source # 
Instance details

Defined in Navi.Env.NotifySend

class HasNoteQueue env where Source #

Retrieves the note queue.

Instances

Instances details
HasNoteQueue Env Source # 
Instance details

Defined in Navi.Env.Core

HasNoteQueue DBusEnv Source # 
Instance details

Defined in Navi.Env.DBus

HasNoteQueue NotifySendEnv Source # 
Instance details

Defined in Navi.Env.NotifySend

Concrete Env

data Env Source #

Env holds all of our environment data that is used while running navi.

Constructors

MkEnv 

Instances

Instances details
HasEvents Env Source # 
Instance details

Defined in Navi.Env.Core

HasLogEnv Env Source # 
Instance details

Defined in Navi.Env.Core

HasLogQueue Env Source # 
Instance details

Defined in Navi.Env.Core

HasNoteQueue Env Source # 
Instance details

Defined in Navi.Env.Core

(k ~ A_Lens, a ~ NonEmpty AnyEvent, b ~ NonEmpty AnyEvent) => LabelOptic "events" k Env Env a b Source # 
Instance details

Defined in Navi.Env.Core

Methods

labelOptic :: Optic k NoIx Env Env a b Source #

(k ~ A_Lens, a ~ LogEnv, b ~ LogEnv) => LabelOptic "logEnv" k Env Env a b Source # 
Instance details

Defined in Navi.Env.Core

Methods

labelOptic :: Optic k NoIx Env Env a b Source #

(k ~ A_Lens, a ~ TBQueue LogStr, b ~ TBQueue LogStr) => LabelOptic "logQueue" k Env Env a b Source # 
Instance details

Defined in Navi.Env.Core

Methods

labelOptic :: Optic k NoIx Env Env a b Source #

(k ~ A_Lens, a ~ TBQueue NaviNote, b ~ TBQueue NaviNote) => LabelOptic "noteQueue" k Env Env a b Source # 
Instance details

Defined in Navi.Env.Core

Methods

labelOptic :: Optic k NoIx Env Env a b Source #