mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-29 15:10:02 +00:00
transport: provide a getter for the proxy options
As with the callbacks, third-party implementations of smart subtransports cannot reach into the opaque struct and thus cannot know what options the user set. Add a getter for these options to copy the proxy options into something external implementors can use.
This commit is contained in:
parent
f9d3b0d05f
commit
5c76096046
@ -241,6 +241,16 @@ GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport,
|
|||||||
*/
|
*/
|
||||||
GIT_EXTERN(int) git_transport_smart_credentials(git_cred **out, git_transport *transport, const char *user, int methods);
|
GIT_EXTERN(int) git_transport_smart_credentials(git_cred **out, git_transport *transport, const char *user, int methods);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a copy of the proxy options
|
||||||
|
*
|
||||||
|
* The url is copied and must be freed by the caller.
|
||||||
|
*
|
||||||
|
* @param out options struct to fill
|
||||||
|
* @param transport the transport to extract the data from.
|
||||||
|
*/
|
||||||
|
GIT_EXTERN(int) git_transport_smart_proxy_options(git_proxy_options *out, git_transport *transport);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*** End of base transport interface ***
|
*** End of base transport interface ***
|
||||||
*** Begin interface for subtransports for the smart transport ***
|
*** Begin interface for subtransports for the smart transport ***
|
||||||
|
@ -472,6 +472,12 @@ int git_transport_smart_credentials(git_cred **out, git_transport *transport, co
|
|||||||
return t->cred_acquire_cb(out, t->url, user, methods, t->cred_acquire_payload);
|
return t->cred_acquire_cb(out, t->url, user, methods, t->cred_acquire_payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int git_transport_smart_proxy_options(git_proxy_options *out, git_transport *transport)
|
||||||
|
{
|
||||||
|
transport_smart *t = (transport_smart *) transport;
|
||||||
|
return git_proxy_options_dup(out, &t->proxy);
|
||||||
|
}
|
||||||
|
|
||||||
int git_transport_smart(git_transport **out, git_remote *owner, void *param)
|
int git_transport_smart(git_transport **out, git_remote *owner, void *param)
|
||||||
{
|
{
|
||||||
transport_smart *t;
|
transport_smart *t;
|
||||||
|
Loading…
Reference in New Issue
Block a user