should have real share access now
[mTask.git] / Shares / mTaskShare.icl
index a360bf8..68b519e 100644 (file)
@@ -103,6 +103,18 @@ getRealShare dev {sdsi} = SDSSource {SDSSource
                                        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