X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Shares%2FmTaskShare.dcl;h=0e73a820147244bb0ee328ee9b242fb3a22f2a85;hb=a2df77cbda43d5a24eeb8ac7db7452baae9f18aa;hp=6b39448a33571156f6df1fd3779301a8b49c0b8b;hpb=28f4e19f893889e6d19d8c0653a643ae1580fd6d;p=mTask.git diff --git a/Shares/mTaskShare.dcl b/Shares/mTaskShare.dcl index 6b39448..0e73a82 100644 --- a/Shares/mTaskShare.dcl +++ b/Shares/mTaskShare.dcl @@ -1,14 +1,23 @@ definition module Shares.mTaskShare import iTasks +import iTasks._Framework.Serialization +import mTask +import Devices.mTaskDevice -:: MTaskShare = { - withTask :: String, - identifier :: Int, - initVal :: String, - realShare :: String - } +derive class iTask MTaskShareType, MTaskShare -instance zero MTaskShare +:: MTaskShareType = MTaskWithShare String | MTaskLens String +:: MTaskShare = + {withTask :: [String] + ,withDevice :: [String] + ,identifier :: Int + ,realShare :: MTaskShareType + ,value :: BCValue + } manageShares :: [MTaskShare] -> Task () + +makeShare :: String String Int BCValue -> Task MTaskShare + +updateShare :: Int BCValue -> Task ()