| 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.