done with scaffolding for file mailbox; next, send message to file mailbox to export and import, and handle these messages properly from the file mailbox

This commit is contained in:
2024-08-28 20:42:52 +01:00
parent e587c6cf73
commit 48c721e29b
6 changed files with 40 additions and 14 deletions

View File

@@ -3,6 +3,7 @@ sig
val run:
InputMessage.t Mailbox.mbox
* DrawMessage.t Mailbox.mbox
* FileMessage.t Mailbox.mbox
* AppType.app_type
-> unit
end
@@ -12,21 +13,21 @@ struct
open CML
open UpdateMessage
fun handleMsg (drawMailbox, updateMsg) =
fun handleMsg (drawMailbox, fileMailbox, updateMsg) =
case updateMsg of
DRAW drawMsg => Mailbox.send (drawMailbox, drawMsg)
| FILE fileMsg => ()
| FILE fileMsg => Mailbox.send (fileMailbox, fileMsg)
| NO_MAILBOX => ()
fun loop (inputMailbox, drawMailbox, model) =
fun loop (inputMailbox, drawMailbox, fileMailbox, model) =
let
val inputMsg = Mailbox.recv inputMailbox
val (model, updateMsg) = AppUpdate.update (model, inputMsg)
val _ = handleMsg (drawMailbox, updateMsg)
val _ = handleMsg (drawMailbox, fileMailbox, updateMsg)
in
loop (inputMailbox, drawMailbox, model)
loop (inputMailbox, drawMailbox, fileMailbox, model)
end
fun run (inputMailbox, drawMailbox, initial) =
loop (inputMailbox, drawMailbox, initial)
fun run (inputMailbox, drawMailbox, fileMailbox, initial) =
loop (inputMailbox, drawMailbox, fileMailbox, initial)
end