rename modules for data types into Types/ directory
This commit is contained in:
parent
971ab27e78
commit
703c437bd9
32 changed files with 61 additions and 59 deletions
41
Types/Backend.hs
Normal file
41
Types/Backend.hs
Normal file
|
@ -0,0 +1,41 @@
|
|||
{- git-annex key/value backend data type
|
||||
-
|
||||
- Most things should not need this, using Types instead
|
||||
-
|
||||
- Copyright 2010 Joey Hess <joey@kitenet.net>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Types.Backend where
|
||||
|
||||
import Types.Key
|
||||
|
||||
data Backend a = Backend {
|
||||
-- name of this backend
|
||||
name :: String,
|
||||
-- converts a filename to a key
|
||||
getKey :: FilePath -> a (Maybe Key),
|
||||
-- stores a file's contents to a key
|
||||
storeFileKey :: FilePath -> Key -> a Bool,
|
||||
-- retrieves a key's contents to a file
|
||||
retrieveKeyFile :: Key -> FilePath -> a Bool,
|
||||
-- removes a key, optionally checking that enough copies are stored
|
||||
-- elsewhere
|
||||
removeKey :: Key -> Maybe Int -> a Bool,
|
||||
-- checks if a backend is storing the content of a key
|
||||
hasKey :: Key -> a Bool,
|
||||
-- called during fsck to check a key
|
||||
-- (second parameter may be the filename associated with it)
|
||||
-- (third parameter may be the number of copies that there should
|
||||
-- be of the key)
|
||||
fsckKey :: Key -> Maybe FilePath -> Maybe Int -> a Bool,
|
||||
-- Is a newer repesentation possible for a key?
|
||||
upgradableKey :: Key -> a Bool
|
||||
}
|
||||
|
||||
instance Show (Backend a) where
|
||||
show backend = "Backend { name =\"" ++ name backend ++ "\" }"
|
||||
|
||||
instance Eq (Backend a) where
|
||||
a == b = name a == name b
|
Loading…
Add table
Add a link
Reference in a new issue