eventloop-0.2.1.1: src/Eventloop/DefaultConfiguration.hs
module Eventloop.DefaultConfiguration where
import Eventloop.EventloopCore
import Eventloop.Types.EventTypes
import Eventloop.RouteEvent
import Eventloop.Module.Websocket.Keyboard
import Eventloop.Module.Websocket.Mouse
import Eventloop.Module.File
import Eventloop.Module.StdOut
import Eventloop.Module.StdIn
import Eventloop.Module.Timer
allModulesEventloopConfiguration :: progstateT -> {- Begin program state -}
(progstateT -> In -> (progstateT, [Out])) -> {- Eventloop function -}
EventloopConfiguration progstateT
allModulesEventloopConfiguration beginProgstate eventloop = (EventloopConfiguration
-- Begin program state
beginProgstate
-- Eventloop function
eventloop
-- OutEvent Router
routeOutEvent
-- SharedIOState
defaultSharedIOState
-- All module configurations
[ defaultFileModuleConfiguration
, defaultTimerModuleConfiguration
, defaultKeyboardModuleConfiguration
, defaultMouseModuleConfiguration
, defaultStdInModuleConfiguration
, defaultStdOutModuleConfiguration
]
)
defaultSharedIOState :: SharedIOState
defaultSharedIOState = SharedIOState undefined