experimental
[mTask.git] / Utils / SDS.icl
index f1184a8..27ebeb7 100644 (file)
@@ -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]