- onConnect _ (received,receiveStopped,send,sendStopped)
- = (Ok "",if (not (isEmpty send)) (Just (received,False,[],sendStopped)) Nothing, map encodeFun send,False)
- whileConnected Nothing acc (received,receiveStopped,send,sendStopped)
- = (Ok acc, Nothing, [], False)
- whileConnected (Just newData) acc (received,receiveStopped,send,sendStopped)
- # [acc:msgs] = reverse (split msgSeparator (concat [acc,newData]))
- # write = if (not (isEmpty msgs && isEmpty send))
- (Just (received ++ map decodeFun (reverse msgs),receiveStopped,[],sendStopped))
- Nothing
- = (Ok acc,write,map encodeFun send,False)
-
- onDisconnect l (received,receiveStopped,send,sendStopped)
- = (Ok l,Just (received,True,send,sendStopped))
-
-consumeNetworkStream :: ([m] -> Task ()) (Shared ([m],Bool,[m],Bool)) -> Task () | iTask m
-consumeNetworkStream processTask channel
- = ((watch channel >>* [OnValue (ifValue ifProcess process)]) <! id) @! ()
+ md =
+ { deviceTask = Just $ TaskId 0 0
+ , deviceError = Just ""
+ , deviceChannels = "abc"
+ , deviceName = "hoi"
+ , deviceTasks = []
+ , deviceData = TCPDevice {TCPSettings
+ |host="localhost",
+ port=8888
+ }
+ , deviceSpec = Just {MTaskDeviceSpec
+ |haveLed = True
+ ,haveAio = True
+ ,haveDio = True
+ ,maxTask = 42
+ ,maxSDS = 5
+ }
+ }
+
+
+
+//Start world = startEngine (mTaskManager
+// >>* [OnAction (Action "Shutdown") (always $ shutDown)]) world
+
+mTaskManager :: Task ()
+mTaskManager = startupDevices >>| anyTask
+ [ viewmTasks @! ()
+ , whileUnchanged sdsStore manageShares
+ , whileUnchanged deviceStore $ manageDevices process
+ ] <<@ ApplyLayout (sequenceLayouts
+ [ arrangeWithSideBar 0 LeftSide 260 True
+ , arrangeSplit Vertical True
+ ])