diff options
Diffstat (limited to 'include/git2/remote.h')
| -rw-r--r-- | include/git2/remote.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/git2/remote.h b/include/git2/remote.h index 5b67717eb..b75a9911c 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -514,6 +514,18 @@ typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, cons typedef int GIT_CALLBACK(git_url_resolve_cb)(git_buf *url_resolved, const char *url, int direction, void *payload); /** + * Callback invoked immediately before we attempt to connect to the + * given url. Callers may change the URL before the connection by + * calling `git_remote_set_instance_url` in the callback. + * + * @param remote The remote to be connected + * @param direction GIT_DIRECTION_FETCH or GIT_DIRECTION_PUSH + * @param payload Payload provided by the caller + * @return 0 on success, or an error + */ +typedef int GIT_CALLBACK(git_remote_ready_cb)(git_remote *remote, int direction, void *payload); + +/** * The callback settings structure * * Set the callbacks to be called by the remote when informing the user @@ -598,6 +610,11 @@ struct git_remote_callbacks { git_transport_cb transport; /** + * Callback when the remote is ready to connect. + */ + git_remote_ready_cb remote_ready; + + /** * This will be passed to each of the callbacks in this struct * as the last parameter. */ |
