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