separate source of content from the filename associated with the key when generating a key
This already made migrate's code a lot simpler.
This commit is contained in:
parent
77188ff04d
commit
d3cee987ca
9 changed files with 59 additions and 57 deletions
|
@ -2,7 +2,7 @@
|
|||
-
|
||||
- Most things should not need this, using Types instead
|
||||
-
|
||||
- Copyright 2010 Joey Hess <joey@kitenet.net>
|
||||
- Copyright 2010,2012 Joey Hess <joey@kitenet.net>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
@ -11,11 +11,18 @@ module Types.Backend where
|
|||
|
||||
import Types.Key
|
||||
|
||||
{- The source used to generate a key. The location of the content
|
||||
- may be different from the filename associated with the key. -}
|
||||
data KeySource = KeySource
|
||||
{ keyFilename :: FilePath
|
||||
, contentLocation :: FilePath
|
||||
}
|
||||
|
||||
data BackendA a = Backend {
|
||||
-- name of this backend
|
||||
name :: String,
|
||||
-- converts a filename to a key
|
||||
getKey :: FilePath -> a (Maybe Key),
|
||||
-- gets the key to use for a given content
|
||||
getKey :: KeySource -> a (Maybe Key),
|
||||
-- called during fsck to check a key, if the backend has its own checks
|
||||
fsckKey :: Maybe (Key -> FilePath -> a Bool)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue