summaryrefslogtreecommitdiff
path: root/Remote
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-15 15:09:36 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-15 15:09:36 -0400
commit1e84dab4c8def55699fc1b673bd0abd0f5dc4aee (patch)
tree8565b776617ee1412d7fcaddcef215570745b73a /Remote
parentf7018e47e48cc61ef6e84adcff89f892cee2c8db (diff)
RemoteConfig type
Diffstat (limited to 'Remote')
-rw-r--r--Remote/Bup.hs4
-rw-r--r--Remote/Directory.hs4
-rw-r--r--Remote/Git.hs2
-rw-r--r--Remote/S3real.hs8
-rw-r--r--Remote/Special.hs3
5 files changed, 11 insertions, 10 deletions
diff --git a/Remote/Bup.hs b/Remote/Bup.hs
index 916afeb40..66c78970c 100644
--- a/Remote/Bup.hs
+++ b/Remote/Bup.hs
@@ -39,7 +39,7 @@ remote = RemoteType {
setup = bupSetup
}
-gen :: Git.Repo -> UUID -> Maybe (M.Map String String) -> Annex (Remote Annex)
+gen :: Git.Repo -> UUID -> Maybe RemoteConfig -> Annex (Remote Annex)
gen r u c = do
buprepo <- getConfig r "buprepo" (error "missing buprepo")
cst <- remoteCost r (if bupLocal buprepo then semiCheapRemoteCost else expensiveRemoteCost)
@@ -60,7 +60,7 @@ gen r u c = do
config = c
}
-bupSetup :: UUID -> M.Map String String -> Annex (M.Map String String)
+bupSetup :: UUID -> RemoteConfig -> Annex RemoteConfig
bupSetup u c = do
-- verify configuration is sane
let buprepo = case M.lookup "buprepo" c of
diff --git a/Remote/Directory.hs b/Remote/Directory.hs
index 0d3478b79..2313f79a0 100644
--- a/Remote/Directory.hs
+++ b/Remote/Directory.hs
@@ -35,7 +35,7 @@ remote = RemoteType {
setup = directorySetup
}
-gen :: Git.Repo -> UUID -> Maybe (M.Map String String) -> Annex (Remote Annex)
+gen :: Git.Repo -> UUID -> Maybe RemoteConfig -> Annex (Remote Annex)
gen r u _ = do
dir <- getConfig r "directory" (error "missing directory")
cst <- remoteCost r cheapRemoteCost
@@ -51,7 +51,7 @@ gen r u _ = do
config = Nothing
}
-directorySetup :: UUID -> M.Map String String -> Annex (M.Map String String)
+directorySetup :: UUID -> RemoteConfig -> Annex RemoteConfig
directorySetup u c = do
-- verify configuration is sane
let dir = case M.lookup "directory" c of
diff --git a/Remote/Git.hs b/Remote/Git.hs
index 7724df79a..bab452a33 100644
--- a/Remote/Git.hs
+++ b/Remote/Git.hs
@@ -40,7 +40,7 @@ list = do
g <- Annex.gitRepo
return $ Git.remotes g
-gen :: Git.Repo -> UUID -> Maybe (M.Map String String) -> Annex (Remote Annex)
+gen :: Git.Repo -> UUID -> Maybe RemoteConfig -> Annex (Remote Annex)
gen r u _ = do
{- It's assumed to be cheap to read the config of non-URL remotes,
- so this is done each time git-annex is run. Conversely,
diff --git a/Remote/S3real.hs b/Remote/S3real.hs
index bb82d54e0..af4e48048 100644
--- a/Remote/S3real.hs
+++ b/Remote/S3real.hs
@@ -37,7 +37,7 @@ remote = RemoteType {
setup = s3Setup
}
-gen :: Git.Repo -> UUID -> Maybe (M.Map String String) -> Annex (Remote Annex)
+gen :: Git.Repo -> UUID -> Maybe RemoteConfig -> Annex (Remote Annex)
gen r u c = do
cst <- remoteCost r expensiveRemoteCost
return $ this cst
@@ -54,14 +54,14 @@ gen r u c = do
config = c
}
-s3ConnectionRequired :: M.Map String String -> Annex AWSConnection
+s3ConnectionRequired :: RemoteConfig -> Annex AWSConnection
s3ConnectionRequired c = do
conn <- s3Connection c
case conn of
Nothing -> error "Cannot connect to S3"
Just conn' -> return conn'
-s3Connection :: M.Map String String -> Annex (Maybe AWSConnection)
+s3Connection :: RemoteConfig -> Annex (Maybe AWSConnection)
s3Connection c = do
ak <- getEnvKey "AWS_ACCESS_KEY_ID"
sk <- getEnvKey "AWS_SECRET_ACCESS_KEY"
@@ -78,7 +78,7 @@ s3Connection c = do
_ -> error $ "bad S3 port value: " ++ s
getEnvKey s = liftIO $ catch (getEnv s) (const $ return "")
-s3Setup :: UUID -> M.Map String String -> Annex (M.Map String String)
+s3Setup :: UUID -> RemoteConfig -> Annex RemoteConfig
s3Setup u c = do
-- verify configuration is sane
case M.lookup "encryption" c of
diff --git a/Remote/Special.hs b/Remote/Special.hs
index b5d5a137f..53ac2c6ee 100644
--- a/Remote/Special.hs
+++ b/Remote/Special.hs
@@ -13,6 +13,7 @@ import Data.String.Utils
import Control.Monad.State (liftIO)
import Types
+import RemoteClass
import qualified GitRepo as Git
import qualified Annex
import UUID
@@ -32,7 +33,7 @@ findSpecialRemotes s = do
match k _ = startswith "remote." k && endswith (".annex-"++s) k
{- Sets up configuration for a special remote in .git/config. -}
-gitConfigSpecialRemote :: UUID -> M.Map String String -> String -> String -> Annex ()
+gitConfigSpecialRemote :: UUID -> RemoteConfig -> String -> String -> Annex ()
gitConfigSpecialRemote u c k v = do
g <- Annex.gitRepo
liftIO $ do