X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=miTask.icl;h=cafbffa0628e9fb05adf7d5c2e44eef37dba00fd;hb=7d9088b54956fe56c36ca8d01ec386b48f0a1c47;hp=5c2b47a1eb90a10b4581ac3bebcebf952a4491c9;hpb=e6e1e9d33029ae73e03e0b290b0bb2598915c4f0;p=mTask.git diff --git a/miTask.icl b/miTask.icl index 5c2b47a..cafbffa 100644 --- a/miTask.icl +++ b/miTask.icl @@ -24,21 +24,31 @@ import iTasks._Framework.Serialization import TTY, iTasksTTY -//derive class iTask ByteSize, Parity, BaudRate, TTYSettings, TCPSettings -//derive class iTask MTaskDeviceSpec, MTaskResource, MTaskTask, MTaskDevice +Start world = startEngine [ + publish "/manage" $ const $ mTaskManager + >>* [OnAction (Action "Shutdown") (always $ shutDown)], + publish "/" $ const demo + ] world -Start world = startEngine (mTaskManager - >>* [OnAction (Action "Shutdown") (always $ shutDown)]) world +demo = viewSharedInformation "Devices" [] deviceStore + >>* [OnValue $ ifValue pred (cont o hd)] + where + pred [] = False + pred [x:_] = not $ isEmpty x.deviceShares + + cont :: MTaskDevice -> Task () + cont dev = updateSharedInformation "Blinkyblink" [] (getRealShare dev (hd dev.deviceShares)) + >>| cont dev + mTaskManager :: Task () mTaskManager = startupDevices >>| anyTask [ viewmTasks @! () - , whileUnchanged sdsStore manageShares + , manageShares @! () , whileUnchanged deviceStore $ manageDevices process - ] <<@ ApplyLayout (sequenceLayouts - [ arrangeWithSideBar 0 LeftSide 260 True - , arrangeSplit Vertical True - ]) + ] <<@ ApplyLayout (foldl1 sequenceLayouts + [arrangeWithSideBar 0 LeftSide 260 True + ,arrangeSplit Vertical True]) where viewmTasks :: Task String viewmTasks = enterChoiceWithShared "Available mTasks" [ChooseFromList id] mTaskTaskStore @@ -50,7 +60,7 @@ mTaskManager = startupDevices >>| anyTask ds = fromJust ('DM'.get mTaskTask allmTasks) >>= \bc->(enterChoice "Choose Device" [ChooseFromDropdown \t->t.deviceName] ds -&&- enterInformation "Timeout" [] - ) >>* [OnAction (Action "Send") (withValue $ Just o sendToDevice mTaskTask bc)] + ) >>* [OnAction (Action "Send") (withValue $ Just o sendTaskToDevice mTaskTask bc)] @! () ) @@ -65,9 +75,9 @@ mTaskManager = startupDevices >>| anyTask proc [m:ms] = traceValue (toString m) >>| (case m of // MTSDSAck i = traceValue (toString m) @! () // MTSDSDelAck i = traceValue (toString m) @! () - MTPub i val = updateShare i val - MTTaskAck i = deviceTaskAcked device i + MTPub i val = updateShareFromPublish device i val @! () + MTTaskAck i mem = deviceTaskAcked device i mem MTTaskDelAck i = deviceTaskDeleteAcked device i @! () - MTDevSpec s = treturn ()//deviceAddSpec device s @! () + MTDevSpec s = deviceAddSpec device s @! () _ = treturn () ) >>| proc ms