]> git.proxmox.com Git - libgit2.git/commitdiff
Don't hide the transport details
authorCarlos Martín Nieto <carlos@cmartin.tk>
Mon, 22 Aug 2011 13:18:19 +0000 (15:18 +0200)
committerVicent Marti <tanoku@gmail.com>
Tue, 30 Aug 2011 17:37:14 +0000 (19:37 +0200)
Transports shouldn't get used outside of the library, so don't expose
accessor functions.

Signed-off-by: Carlos Martín Nieto <carlos@cmartin.tk>
include/git2/transport.h
src/fetch.c
src/remote.c
src/transport.c
src/transport.h

index 982b081f89f9766e0a24298d47ae2cdd3e31bc54..d19eb8a88e5fad807c1c337e22c526468b9cfcb7 100644 (file)
@@ -45,14 +45,6 @@ GIT_BEGIN_DECL
  */
 GIT_EXTERN(int) git_transport_new(git_transport **transport, const char *url);
 
-GIT_EXTERN(int) git_transport_connect(git_transport *transport, int direction);
-
-GIT_EXTERN(int) git_transport_ls(git_transport *transport, git_headarray *array);
-GIT_EXTERN(int) git_transport_close(git_transport *transport);
-GIT_EXTERN(void) git_transport_free(git_transport *transport);
-
-GIT_EXTERN(int) git_transport_add(git_transport *transport, const char *prefix);
-
 /** @} */
 GIT_END_DECL
 #endif
index 0dce875f846fda9a672972bc16ecad24053b2f4f..74c93da8d0d68ff5cf8f64df809944bfaccad379 100644 (file)
@@ -48,7 +48,7 @@ static int filter_wants(git_remote *remote)
        if (error < GIT_SUCCESS)
                return error;
 
-       error = git_transport_ls(t, &refs);
+       error = t->ls(t, &refs);
        if (error < GIT_SUCCESS) {
                error = git__rethrow(error, "Failed to get remote ref list");
                goto cleanup;
@@ -102,6 +102,7 @@ int git_fetch_negotiate(git_remote *remote)
 {
        int error;
        git_headarray *list = &remote->refs;
+       git_transport *t = remote->transport;
 
        error = filter_wants(remote);
        if (error < GIT_SUCCESS)
@@ -117,11 +118,11 @@ int git_fetch_negotiate(git_remote *remote)
         * Now we have everything set up so we can start tell the server
         * what we want and what we have.
         */
-       error = git_transport_send_wants(remote->transport, list);
+       error = t->send_wants(t, list);
        if (error < GIT_SUCCESS)
                return git__rethrow(error, "Failed to send want list");
 
-       return git_transport_negotiate_fetch(remote->transport, remote->repo, &remote->refs);
+       return t->negotiate_fetch(t, remote->repo, &remote->refs);
 }
 
 int git_fetch_download_pack(char **out, git_remote *remote)
@@ -131,5 +132,5 @@ int git_fetch_download_pack(char **out, git_remote *remote)
                return GIT_SUCCESS;
        }
 
-       return git_transport_download_pack(out, remote->transport, remote->repo);
+       return remote->transport->download_pack(out, remote->transport, remote->repo);
 }
index 74c5afad54f3a1aad4c962c683d9744c31258c3c..765e93823ea471e14f736dc0d79203077756743b 100644 (file)
@@ -184,7 +184,7 @@ int git_remote_connect(git_remote *remote, int direction)
        if (error < GIT_SUCCESS)
                return git__rethrow(error, "Failed to create transport");
 
-       error = git_transport_connect(t, direction);
+       error = t->connect(t, direction);
        if (error < GIT_SUCCESS) {
                error = git__rethrow(error, "Failed to connect the transport");
                goto cleanup;
@@ -194,14 +194,14 @@ int git_remote_connect(git_remote *remote, int direction)
 
 cleanup:
        if (error < GIT_SUCCESS)
-               git_transport_free(t);
+               t->free(t);
 
        return error;
 }
 
 int git_remote_ls(git_remote *remote, git_headarray *refs)
 {
-       return git_transport_ls(remote->transport, refs);
+       return remote->transport->ls(remote->transport, refs);
 }
 
 int git_remote_negotiate(git_remote *remote)
@@ -255,8 +255,9 @@ void git_remote_free(git_remote *remote)
        free(remote->name);
        if (remote->transport != NULL) {
                if (remote->transport->connected)
-                       git_transport_close(remote->transport);
-               git_transport_free(remote->transport);
+                       remote->transport->close(remote->transport);
+
+               remote->transport->free(remote->transport);
        }
        free(remote);
 }
index 91723df73c303e0ca25ced5585f5ac76a437e31d..91f621c463390ef0878380beae6f29c7e1a7f20e 100644 (file)
@@ -69,53 +69,3 @@ int git_transport_new(git_transport **out, const char *url)
 
        return GIT_SUCCESS;
 }
-
-int git_transport_connect(git_transport *transport, int direction)
-{
-       return transport->connect(transport, direction);
-}
-
-int git_transport_ls(git_transport *transport, git_headarray *array)
-{
-       return transport->ls(transport, array);
-}
-
-int git_transport_send_wants(struct git_transport *transport, git_headarray *array)
-{
-       return transport->send_wants(transport, array);
-}
-
-int git_transport_send_have(struct git_transport *transport, git_oid *oid)
-{
-       return transport->send_have(transport, oid);
-}
-
-int git_transport_negotiate_fetch(struct git_transport *transport, git_repository *repo, git_headarray *list)
-{
-       return transport->negotiate_fetch(transport, repo, list);
-}
-
-int git_transport_send_flush(struct git_transport *transport)
-{
-       return transport->send_flush(transport);
-}
-
-int git_transport_send_done(struct git_transport *transport)
-{
-       return transport->send_done(transport);
-}
-
-int git_transport_download_pack(char **out, git_transport *transport, git_repository *repo)
-{
-       return transport->download_pack(out, transport, repo);
-}
-
-int git_transport_close(git_transport *transport)
-{
-       return transport->close(transport);
-}
-
-void git_transport_free(git_transport *transport)
-{
-       transport->free(transport);
-}
index 94f88c4bd12e103bb59ef4dadd64235a7db56381..9489ac80380a50e66639b6ef857f98c56e7cf54d 100644 (file)
@@ -103,11 +103,4 @@ int git_transport_local(struct git_transport **transport);
 int git_transport_git(struct git_transport **transport);
 int git_transport_dummy(struct git_transport **transport);
 
-int git_transport_send_wants(struct git_transport *transport, git_headarray *array);
-int git_transport_negotiate_fetch(struct git_transport *transport, git_repository *repo, git_headarray *array);
-int git_transport_send_have(struct git_transport *transport, git_oid *oid);
-int git_transport_send_done(struct git_transport *transport);
-int git_transport_send_flush(struct git_transport *transport);
-int git_transport_download_pack(char **out, git_transport *transport, git_repository *repo);
-
 #endif