X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Utils%2FSDS.icl;fp=Utils%2FSDS.icl;h=f1184a86da57874142febd6a3f35b791e11128a4;hb=b3d2bd33a99a2dbdc4907b6876a965c16c37314c;hp=0000000000000000000000000000000000000000;hpb=1beb80144b634f2accc18ab0b5a14ccf291bc6aa;p=mTask.git diff --git a/Utils/SDS.icl b/Utils/SDS.icl new file mode 100644 index 0000000..f1184a8 --- /dev/null +++ b/Utils/SDS.icl @@ -0,0 +1,24 @@ +implementation module Utils.SDS + +import iTasks +import iTasks._Framework.Store +import Devices.mTaskDevice +import Shares.mTaskShare +from Data.Func import $ + +derive class iTask MTaskShare, BCState + +memoryShare :: String a -> Shared a | iTask a +memoryShare s d = sdsFocus s $ memoryStore "" $ Just d + +deviceStore :: Shared [MTaskDevice] +deviceStore = sharedStore "mTaskDevices" [] + +sdsStore :: Shared [MTaskShare] +sdsStore = memoryShare "mTaskShares" [] + +bcStateStore :: Shared BCState +bcStateStore = memoryShare "mTaskBCState" zero + +mTaskTaskStore :: Shared [String] +mTaskTaskStore = memoryShare "mTaskTasks" ["count", "ledon", "ledoff"]