X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Shares%2FmTaskShare.dcl;h=6cd08a9aa1848e7c19f339b5b502f28fc51bdda1;hb=1e18ef692756fa4a6f163994e7edb5ad4f11b3db;hp=3cfd7a14baf25f614a3441749a8c56837619105d;hpb=ee38806680e1706a4aea577d1ed699860f1fb0e8;p=mTask.git diff --git a/Shares/mTaskShare.dcl b/Shares/mTaskShare.dcl index 3cfd7a1..6cd08a9 100644 --- a/Shares/mTaskShare.dcl +++ b/Shares/mTaskShare.dcl @@ -3,20 +3,38 @@ definition module Shares.mTaskShare import iTasks import iTasks._Framework.Serialization import mTask +import Devices.mTaskDevice -derive class iTask MTaskShareType, MTaskShare +derive class iTask MTaskShare +derive gPrint BCState -:: MTaskShareType = MTaskWithShare String | MTaskLens String :: MTaskShare = - {withTask :: [String] - ,identifier :: Int - ,realShare :: MTaskShareType - ,value :: BCValue + {withTask :: [String] + ,identifier:: Int + ,value :: BCValue + ,humanName :: String } -manageShares :: [MTaskShare] -> Task () +instance == MTaskShare -///makeShare :: String Int Dynamic -> Task MTaskShare -makeShare :: String Int BCValue -> Task MTaskShare +//Constructor +makeShare :: String String Int BCValue -> MTaskShare -updateShare :: Int BCValue -> Task () +//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] + +getRealShare :: MTaskDevice MTaskShare -> Shared BCValue +//getRealShare :: MTaskDevice BCShare -> Shared BCValue + +//updateShare :: Int BCValue -> Task ()