diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-27 16:17:56 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-27 16:17:56 -0400 |
commit | f30320aa75d6fa590f60030f13df6b3899816196 (patch) | |
tree | 8152163ab2170de227566c42f196051a94ef5e91 /RemoteClass.hs | |
parent | b40f253d6e126d699e9f298bf670fc5e875bfd86 (diff) |
add remotes slot to Annex
This required parameterizing the type for Remote, to avoid a cycle.
Diffstat (limited to 'RemoteClass.hs')
-rw-r--r-- | RemoteClass.hs | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/RemoteClass.hs b/RemoteClass.hs index df2aefb71..9fef0e44a 100644 --- a/RemoteClass.hs +++ b/RemoteClass.hs @@ -9,38 +9,36 @@ module RemoteClass where import Control.Exception -import Annex -import UUID import Key -data Remote = Remote { +data Remote a = Remote { -- each Remote has a unique uuid - uuid :: UUID, + uuid :: String, -- each Remote has a human visible name name :: String, -- Remotes have a use cost; higher is more expensive cost :: Int, -- Transfers a key to the remote. - storeKey :: Key -> Annex Bool, + storeKey :: Key -> a Bool, -- retrieves a key's contents to a file - retrieveKeyFile :: Key -> FilePath -> Annex Bool, + retrieveKeyFile :: Key -> FilePath -> a Bool, -- removes a key's contents - removeKey :: Key -> Annex Bool, + removeKey :: Key -> a Bool, -- Checks if a key is present in the remote; if the remote -- cannot be accessed returns a Left error. - hasKey :: Key -> Annex (Either IOException Bool), + hasKey :: Key -> a (Either IOException Bool), -- Some remotes can check hasKey without an expensive network -- operation. hasKeyCheap :: Bool } -instance Show Remote where +instance Show (Remote a) where show remote = "Remote { uuid =\"" ++ uuid remote ++ "\" }" -- two remotes are the same if they have the same uuid -instance Eq Remote where - a == b = uuid a == uuid b +instance Eq (Remote a) where + x == y = uuid x == uuid y -- order remotes by cost -instance Ord Remote where - compare a b = compare (cost a) (cost b) +instance Ord (Remote a) where + compare x y = compare (cost x) (cost y) |