X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Shares%2FmTaskShare.dcl;h=686a372772e7d36d9cd353685c63655981776e91;hb=d99f9bb5fdcf3a58381281b5927a65f82b44b494;hp=a6967af53e4db94c75ab258c6a25b75d3d14cdf2;hpb=4f7354793be250c86dd0d2fda737312d33d54231;p=mTask.git diff --git a/Shares/mTaskShare.dcl b/Shares/mTaskShare.dcl index a6967af..686a372 100644 --- a/Shares/mTaskShare.dcl +++ b/Shares/mTaskShare.dcl @@ -2,17 +2,39 @@ definition module Shares.mTaskShare import iTasks import iTasks._Framework.Serialization +import mTask +import Devices.mTaskDevice + +derive class iTask MTaskShare +derive gPrint BCState -derive class iTask MTaskShareType -:: MTaskShareType = MTaskWithShare String | MTaskLens String :: MTaskShare = - {withTask :: String - ,identifier :: Int - ,realShare :: MTaskShareType - ,value :: String + {withTask :: [String] + ,identifier:: Int + ,value :: BCValue + ,humanName :: String } -manageShares :: [MTaskShare] -> Task () +instance == MTaskShare + +//Constructor +makeShare :: String String Int BCValue -> MTaskShare + +//General viewing task +manageShares :: Task [MTaskDevice] +//manageShares :: [MTaskShare] -> Task MTaskShare + +updateShares :: MTaskDevice ([MTaskShare] -> [MTaskShare]) -> Task [MTaskShare] + +//Clean out shares when a task has been removed +cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare] +//cleanSharesTask :: Int MTaskDevice -> Task [MTaskShare] +//Clean out shares when a device has been removed + +updateShareFromPublish :: MTaskDevice Int BCValue -> Task BCValue +//updateShare :: Int BCValue -> Task [MTaskShare] + +shareShare :: MTaskDevice MTaskShare -> Shared BCValue +//shareShare :: MTaskDevice BCShare -> Shared BCValue -///makeShare :: String Int Dynamic -> Task MTaskShare -makeShare :: String Int String -> Task MTaskShare +//updateShare :: Int BCValue -> Task ()