Safe Haskell | None |
---|
Messaging
Contents
Description
- type GUIElementId = String
- data GUIElementType
- = Button
- | CheckBox
- | TextBox
- | MultiSelect
- | NumberTextBox
- | RadioButton
- | Html
- data GUIMessage = GUIMessage {}
- data GSChannel
- createChannel :: IO GSChannel
- receiveGMReadChannel :: GSChannel -> IO (Maybe GUIMessage)
- receiveGMWriteChannel :: GSChannel -> GUIMessage -> IO ()
- sendGMWriteChannel :: GSChannel -> GUIMessage -> IO ()
- sendGMReadChannel :: GSChannel -> IO (Maybe GUIMessage)
Data Types, used for messages and message buffers
type GUIElementId = String
String identifying a GUI element
data GUIElementType
The type of GUI Element
Constructors
Button | |
CheckBox | |
TextBox | |
MultiSelect | |
NumberTextBox | |
RadioButton | |
Html |
Instances
Read GUIElementType | |
Show GUIElementType | |
ToJSON GUIElementType | |
FromJSON GUIElementType |
data GUIMessage
A GUI message, used to communicate between Browser and Haskell server
Constructors
GUIMessage | |
Fields
|
Instances
Show GUIMessage | |
ToJSON GUIMessage | |
FromJSON GUIMessage |
data GSChannel
A two sided message buffer structure
Functions to handle messages and message buffers
creates a message buffer (Channel) with two way communication
receiveGMReadChannel :: GSChannel -> IO (Maybe GUIMessage)
read the message buffer (Channel) during reception of a GUI message from the Browser GUI element
receiveGMWriteChannel :: GSChannel -> GUIMessage -> IO ()
write the message buffer (Channel) during reception of a GUI message from the Browser GUI element, this is used by the Server module to provide the received data towards the Channels and the FRP GUI elements.
sendGMWriteChannel :: GSChannel -> GUIMessage -> IO ()
write the message buffer (Channel) during sending of a GUI message towards the Browser GUI element
sendGMReadChannel :: GSChannel -> IO (Maybe GUIMessage)
read the message buffer (Channel) during sending of a GUI message towards the Browser GUI element, this is used by the Server module to pass all messages over the websocket to the Browser.