summaryrefslogtreecommitdiff
path: root/Assistant/Types/RepoProblem.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Assistant/Types/RepoProblem.hs')
-rw-r--r--Assistant/Types/RepoProblem.hs14
1 files changed, 12 insertions, 2 deletions
diff --git a/Assistant/Types/RepoProblem.hs b/Assistant/Types/RepoProblem.hs
index 40397c708..ece5a5286 100644
--- a/Assistant/Types/RepoProblem.hs
+++ b/Assistant/Types/RepoProblem.hs
@@ -1,4 +1,4 @@
-{- git-annex assistant remote problem detection
+{- git-annex assistant repository problem tracking
-
- Copyright 2013 Joey Hess <joey@kitenet.net>
-
@@ -11,8 +11,18 @@ import Types
import Utility.TList
import Control.Concurrent.STM
+import Data.Function
-type RepoProblemChan = TList UUID
+data RepoProblem = RepoProblem
+ { problemUUID :: UUID
+ , afterFix :: IO ()
+ }
+
+{- The afterFix actions are assumed to all be equivilant. -}
+sameRepoProblem :: RepoProblem -> RepoProblem -> Bool
+sameRepoProblem = (==) `on` problemUUID
+
+type RepoProblemChan = TList RepoProblem
newRepoProblemChan :: IO RepoProblemChan
newRepoProblemChan = atomically newTList