diff options
author | Julien Dessaux | 2011-04-13 20:15:55 +0200 |
---|---|---|
committer | Julien Dessaux | 2011-04-13 20:15:55 +0200 |
commit | ff07633fb8f81577ffec409cbf0a3c7361990f6c (patch) | |
tree | 5021a2e13f878c6b29ad3ec835f694d0726b7e9c /HsbotMaster/Hsbot/Types.hs | |
parent | Regressed from parsec3 to parsec2 to solve a cabal install weird dependency p... (diff) | |
download | hsbot-ff07633fb8f81577ffec409cbf0a3c7361990f6c.tar.gz hsbot-ff07633fb8f81577ffec409cbf0a3c7361990f6c.tar.bz2 hsbot-ff07633fb8f81577ffec409cbf0a3c7361990f6c.zip |
Began a big refactoring/rewriting (again)
Diffstat (limited to 'HsbotMaster/Hsbot/Types.hs')
-rw-r--r-- | HsbotMaster/Hsbot/Types.hs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/HsbotMaster/Hsbot/Types.hs b/HsbotMaster/Hsbot/Types.hs deleted file mode 100644 index ce1432b..0000000 --- a/HsbotMaster/Hsbot/Types.hs +++ /dev/null @@ -1,72 +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 - --- | 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 - , 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) - |