LibGit2Sharp.RemoteCallbacks.GitCredentialHandler C# (CSharp) Method

GitCredentialHandler() private method

private GitCredentialHandler ( IntPtr &ptr, IntPtr cUrl, IntPtr usernameFromUrl, GitCredentialType credTypes, IntPtr payload ) : int
ptr System.IntPtr
cUrl System.IntPtr
usernameFromUrl System.IntPtr
credTypes GitCredentialType
payload System.IntPtr
return int
        private int GitCredentialHandler(out IntPtr ptr, IntPtr cUrl, IntPtr usernameFromUrl, GitCredentialType credTypes, IntPtr payload)
        {
            string url = LaxUtf8Marshaler.FromNative(cUrl);
            string username = LaxUtf8Marshaler.FromNative(usernameFromUrl);

            SupportedCredentialTypes types = default(SupportedCredentialTypes);
            if (credTypes.HasFlag(GitCredentialType.UserPassPlaintext))
            {
                types |= SupportedCredentialTypes.UsernamePassword;
            }
            if (credTypes.HasFlag(GitCredentialType.Default))
            {
                types |= SupportedCredentialTypes.Default;
            }

            var cred = CredentialsProvider(url, username, types);

            return cred.GitCredentialHandler(out ptr, cUrl, usernameFromUrl, credTypes, payload);
        }