Just share = (Ok share.MTaskShare.value, iworld)
// Also send messages
- ww name value iworld = undef//case modify (modFun name value) sdsStore of
-// (Error e, iworld) = (Error e, iworld)
-// (Ok shares, iworld) = (Ok $ const True, iworld)
+ ww name value iworld = case modify (\r->((), map (modFun value) r)) deviceStore iworld of
+ (Error e, iworld) = (Error e, iworld)
+ (Ok _, iworld) = case sendMessagesIW [MTUpd sdsi value] dev iworld of
+ (Error e, iworld) = (Error e, iworld)
+ (Ok _, iworld) = (Ok $ const True, iworld)
+
+ //Selects the correct device
+ modFun value d
+ | d == dev = {d & deviceShares=map (modFun2 value) d.deviceShares}
+ = d
+
+ //Selects the correct share
+ modFun2 value share
+ | sdsi == share.MTaskShare.identifier = {MTaskShare | share & value=value}
+ = share