refactoors
[mTask.git] / Shares / mTaskShare.icl
index 2133f0b..1ccbcc4 100644 (file)
@@ -94,34 +94,12 @@ cleanSharesTask taskid d = updateShares d id //TODO
 instance == MTaskShare where
        (==) a b = a.identifier == b.identifier
 
-getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
-getRealShare dev share = sdsFocus ()
+shareShare :: MTaskDevice MTaskShare -> Shared BCValue
+shareShare dev share = sdsFocus ()
        $ mapReadWriteError (deviceLens dev share)
        $ sdsFocus (Just (dev, share.identifier))
        $ deviceStore
 
-//getRealShare :: MTaskDevice MTaskShare -> Shared BCValue
-//getRealShare dev share = sdsLens
-//     ("realShare" +++ toString share.identifier)
-//     (const $ Just (dev, share.identifier))
-//     (SDSRead $ const $ \rs->case find ((==)dev) rs of
-//             Nothing = Error $ exception "Device doesn't exist anymore"
-//             Just {deviceShares} = case find ((==)share) deviceShares of
-//                     Nothing = Error $ exception "Share doesn't exist anymore"
-//                     Just share = Ok share.MTaskShare.value
-//     )
-//     (SDSWrite $ const $ \rs w->partition ((==)dev) devs of
-//             ([], _) = Error $ exception "Device doesn't exist anymore"
-//             ([_,_:_], _) = Error $ exception "Multiple matching devices"
-//             ([d=:{deviceShares}], devs) = case partition ((==)share) deviceShares of
-//                     ([], _) = Error $ exception "Share doesn't exist anymore"
-//                     ([_,_:_], _) = Error $ exception "Multiple matching shares"
-//                     ([s], shares)
-//                             # s = {MTaskShare | s & value=val}
-//                             # d = {MTaskDevice | d & deviceShares=[s:shares]}
-//                             = Ok $ Just [d:devs])
-//     (SDSNotify $ const $ \rs w
-
 deviceLens dev share = (mread, mwrite)
 where
        mread :: [MTaskDevice] -> MaybeError TaskException BCValue
@@ -136,10 +114,8 @@ where
                ([d=:{deviceShares}], devs) = case partition ((==)share) deviceShares of
                        ([], _) = Error $ exception "Share doesn't exist anymore"
                        ([_,_:_], _) = Error $ exception "Multiple matching shares"
-                       ([s], shares)
-                               # s = {MTaskShare | s & value=val}
-                               # d = {MTaskDevice | d & deviceShares=[s:shares]}
-                               = Ok $ Just [d:devs]
+                       ([s], shares) = Ok $ Just [{MTaskDevice | d &
+                               deviceShares=[{MTaskShare | s & value=val}:shares]}:devs]
 
 updateShareFromPublish :: MTaskDevice Int BCValue -> Task BCValue
 updateShareFromPublish dev ident val = set val