X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=Devices%2FmTaskDevice.icl;fp=Devices%2FmTaskDevice.icl;h=95c549e32508c456e7139f8cba2d2b2f058a8ba4;hb=4bb252b0423c73d134a541db44b8b08eab507a39;hp=c8bee618da1aba157a79c0764e05987796e2b14b;hpb=cb452795ab772fb465e7675b22865eb1ff25cf53;p=mTask.git diff --git a/Devices/mTaskDevice.icl b/Devices/mTaskDevice.icl index c8bee61..95c549e 100644 --- a/Devices/mTaskDevice.icl +++ b/Devices/mTaskDevice.icl @@ -102,10 +102,9 @@ deleteDevice :: MTaskDevice -> Task () deleteDevice d = upd (\(r,s,ss)->(r,s,True)) (channels d) >>| maybe (treturn ()) (flip removeTask topLevelTasks) d.deviceTask >>| upd (filter ((<>)d)) deviceStore -// >>| upd (removeShares d) sdsStore + >>| cleanSharesDevice d.deviceName @! () - sendMessages :: [MTaskMSGSend] -> (MTaskDevice -> Task Channels) sendMessages msgs = upd (\(r,s,ss)->(r,msgs++s,ss)) o channels @@ -127,7 +126,8 @@ deviceTaskDelete :: MTaskDevice MTaskTask -> Task () deviceTaskDelete dev task = sendMessages [MTTaskDel task.ident] dev @! () deviceTaskDeleteAcked :: MTaskDevice Int -> Task () -deviceTaskDeleteAcked d i = withDevices d $ deleteTask +deviceTaskDeleteAcked d i = cleanSharesTask i d + >>| withDevices d deleteTask where deleteTask d = {d & deviceTasks=[s\\s<-d.deviceTasks | i <> s.ident]} deviceAddSpec :: MTaskDevice MTaskDeviceSpec -> Task ()