X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Utils%2FSDS.icl;h=9c6b46a9923cc05df447d42889cb5f05564b0bda;hb=5f4c4b61ea1e4062e90715af9e1027da6d1c7a66;hp=f1184a86da57874142febd6a3f35b791e11128a4;hpb=b3d2bd33a99a2dbdc4907b6876a965c16c37314c;p=mTask.git diff --git a/Utils/SDS.icl b/Utils/SDS.icl index f1184a8..9c6b46a 100644 --- a/Utils/SDS.icl +++ b/Utils/SDS.icl @@ -4,9 +4,11 @@ import iTasks import iTasks._Framework.Store import Devices.mTaskDevice import Shares.mTaskShare +import Tasks.Examples +import qualified Data.Map as DM from Data.Func import $ -derive class iTask MTaskShare, BCState +derive class iTask MTaskShare memoryShare :: String a -> Shared a | iTask a memoryShare s d = sdsFocus s $ memoryStore "" $ Just d @@ -21,4 +23,7 @@ bcStateStore :: Shared BCState bcStateStore = memoryShare "mTaskBCState" zero mTaskTaskStore :: Shared [String] -mTaskTaskStore = memoryShare "mTaskTasks" ["count", "ledon", "ledoff"] +mTaskTaskStore = memoryShare "mTaskTasks" $ 'DM'.keys allmTasks + +getSDSRecord :: Int -> Task MTaskShare +getSDSRecord i = get sdsStore @ \l->hd [s\\s<-l | s.identifier == i]