From 5defc8e74a3577c6235f3cc76f89ea32dfbd8d87 Mon Sep 17 00:00:00 2001 From: nek0 Date: Sun, 26 Nov 2017 20:25:06 +0100 Subject: [PATCH] reorder things --- affection.cabal | 5 ++++- src/Affection.hs | 5 ++++- src/Affection/MessageBus.hs | 22 ---------------------- 3 files changed, 8 insertions(+), 24 deletions(-) delete mode 100644 src/Affection/MessageBus.hs diff --git a/affection.cabal b/affection.cabal index 51cb0f7..5077048 100644 --- a/affection.cabal +++ b/affection.cabal @@ -45,7 +45,10 @@ library -- , Affection.Actor -- , Affection.Animation , Affection.Util - , Affection.MessageBus + , Affection.MessageBus.Util + , Affection.MessageBus.Class + , Affection.MessageBus.Engine + , Affection.MessageBus.Message default-extensions: OverloadedStrings -- Modules included in this library but not exported. diff --git a/src/Affection.hs b/src/Affection.hs index d0d5afa..3dbb127 100644 --- a/src/Affection.hs +++ b/src/Affection.hs @@ -41,7 +41,10 @@ import Affection.MouseInteractable as A -- import Affection.Actor as A -- import Affection.Animation as A import Affection.Util as A -import Affection.MessageBus as A +import Affection.MessageBus.Class as A +import Affection.MessageBus.Message as A +import Affection.MessageBus.Engine as A +import Affection.MessageBus.Util as A import Graphics.Rendering.OpenGL as GL (clear, flush, ClearBuffer(..)) diff --git a/src/Affection/MessageBus.hs b/src/Affection/MessageBus.hs deleted file mode 100644 index 2fcbaf8..0000000 --- a/src/Affection/MessageBus.hs +++ /dev/null @@ -1,22 +0,0 @@ -module Affection.MessageBus where - -import Control.Concurrent.STM as STM - -import Data.IORef - -class Message msg where - msgPayload :: msg -> Maybe a - -type Channel msg = TChan msg - -class Participant prt where - partChannel :: (Message msg) => prt -> IORef (Channel msg) - - partConnectChannel :: (Message msg) => prt -> (Channel msg) -> IO () - - partListen :: (Message msg) => prt -> IO msg - - partBroadcast :: (Message msg) => prt -> msg -> IO () - -newBroadcastChannel :: IO (Channel msg) -newBroadcastChannel = atomically $ newBroadcastTChan