diff options
author | Carlos Martín Nieto <cmn@dwim.me> | 2014-04-19 15:34:12 +0200 |
---|---|---|
committer | Carlos Martín Nieto <cmn@dwim.me> | 2014-04-22 14:32:19 +0200 |
commit | 2efd7df6b11e8c646d05870965bb4588d6b6d425 (patch) | |
tree | 3c495b11f1515f7e91af853cf5641746de093e4c | |
parent | dac95e4aa33a21c2180566558726e1a3d5c0399a (diff) | |
download | libgit2-2efd7df6b11e8c646d05870965bb4588d6b6d425.tar.gz |
remote: provide read access to the callback structure
This should make it easier for bindings to dynamically override their
own callbacks.
-rw-r--r-- | include/git2/remote.h | 11 | ||||
-rw-r--r-- | src/remote.c | 7 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/git2/remote.h b/include/git2/remote.h index d57321f03..578fcf51b 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -520,6 +520,17 @@ GIT_EXTERN(int) git_remote_init_callbacks( GIT_EXTERN(int) git_remote_set_callbacks(git_remote *remote, const git_remote_callbacks *callbacks); /** + * Retrieve the current callback structure + * + * This provides read access to the callbacks structure as the remote + * sees it. + * + * @param remote the remote to query + * @return a pointer to the callbacks structure + */ +GIT_EXTERN(const git_remote_callbacks *) git_remote_get_callbacks(git_remote *remote); + +/** * Get the statistics structure that is filled in by the fetch operation. */ GIT_EXTERN(const git_transfer_progress *) git_remote_stats(git_remote *remote); diff --git a/src/remote.c b/src/remote.c index 243086bf9..c23a4643e 100644 --- a/src/remote.c +++ b/src/remote.c @@ -1253,6 +1253,13 @@ int git_remote_set_callbacks(git_remote *remote, const git_remote_callbacks *cal return 0; } +const git_remote_callbacks *git_remote_get_callbacks(git_remote *remote) +{ + assert(remote); + + return &remote->callbacks; +} + int git_remote_set_transport(git_remote *remote, git_transport *transport) { assert(remote && transport); |