From 11c2c16835b3e8368be77ccc5b7ddf949021eccd Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sat, 3 Jul 2010 21:26:00 +0200 Subject: Moved files around as a preliminary for architectural changes. --- Hsbot/Types.hs | 75 ---------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 Hsbot/Types.hs (limited to 'Hsbot/Types.hs') diff --git a/Hsbot/Types.hs b/Hsbot/Types.hs deleted file mode 100644 index 66b4d6b..0000000 --- a/Hsbot/Types.hs +++ /dev/null @@ -1,75 +0,0 @@ -module Hsbot.Types - ( Bot - , BotMsg (..) - , BotResumeData - , BotState (..) - , BotStatus (..) - , ExitMsg (..) - , Msg (..) - , Plugin - , PluginState (..) - , RebootMsg (..) - , ResumeData - , ResumeMsg (..) - ) where - -import Control.Concurrent -import Control.Monad.State -import qualified Data.Map as M -import Data.Time -import System.IO - -import Hsbot.Config - --- | The Bot monad -type Bot = StateT BotState IO - --- | An Hsbot state -data BotState = BotState - { botStartTime :: UTCTime -- the bot's uptime - , botPlugins :: M.Map String (PluginState, MVar (), ThreadId) -- Loaded plugins - , botChan :: Chan BotMsg -- the bot's communication channel - , botConfig :: [BotConfig] -- the bot's starting config - , botResumeData :: MVar BotResumeData -- the necessary data to resume the bot's operations on reboot - } - --- | how we exit from the botLoop -data BotStatus = BotExit | BotReboot | BotContinue deriving (Eq) - --- | Types to factorise resume data -type ResumeData = M.Map String String -type BotResumeData = M.Map String ResumeData - --- | The Plugin monad -type Plugin = StateT PluginState IO - --- | A plugin state -data PluginState = PluginState - { pluginName :: String -- The plugin's name - , pluginChan :: Chan BotMsg -- The plugin chan - , pluginHandles :: M.Map String Handle -- the plugins's handles - } - --- | A hsbot message -data Msg = Msg - { msgType :: String -- the message type - , msgFrom :: String -- who issues it - , msgTo :: String -- who it is destinated to - , msgStuff :: String -- the message to be transfered - } deriving (Show) - -data ResumeMsg = ResMsg - { resMsgFrom :: String - , resMsgData :: ResumeData - } deriving (Show) - -data RebootMsg = RebootMsg - { rebMsgFrom :: String - } deriving (Show) - -data ExitMsg = ExitMsg - { exiMsgFrom :: String - } deriving (Show) - -data BotMsg = IntMsg Msg | UpdMsg ResumeMsg | RebMsg RebootMsg | ExiMsg ExitMsg deriving (Show) - -- cgit v1.2.3