X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Utils%2FSDS.icl;h=27ebeb75da3dfa480347e8706453ff2e7b30f903;hb=1e4c58b59800c21747181bb0c437c6cc47c47dec;hp=f1184a86da57874142febd6a3f35b791e11128a4;hpb=b3d2bd33a99a2dbdc4907b6876a965c16c37314c;p=mTask.git diff --git a/Utils/SDS.icl b/Utils/SDS.icl index f1184a8..27ebeb7 100644 --- a/Utils/SDS.icl +++ b/Utils/SDS.icl @@ -4,6 +4,8 @@ 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 @@ -21,4 +23,10 @@ bcStateStore :: Shared BCState bcStateStore = memoryShare "mTaskBCState" zero mTaskTaskStore :: Shared [String] -mTaskTaskStore = memoryShare "mTaskTasks" ["count", "ledon", "ledoff"] +mTaskTaskStore = memoryShare "mTaskTasks" $ 'DM'.keys allmTasks + +getSDSStore :: MTaskShare -> Shared Int +getSDSStore sh = memoryShare sh.realShare 0 + +getSDSRecord :: Int -> Task MTaskShare +getSDSRecord i = get sdsStore @ \l->hd [s\\s<-l | s.identifier == i]