mirror of
https://github.com/pion/webrtc.git
synced 2025-10-04 06:46:35 +08:00

Users are unable to use the callbacks inside `internal/ice`. Even though we alias things like OnSelectedCandidatePairChange are unusable since in the package they use `ice.Candidate` instead of `ICECandidate`
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package webrtc
|
|
|
|
// ICECredentialType indicates the type of credentials used to connect to
|
|
// an ICE server.
|
|
type ICECredentialType int
|
|
|
|
const (
|
|
// ICECredentialTypePassword describes username and pasword based
|
|
// credentials as described in https://tools.ietf.org/html/rfc5389.
|
|
ICECredentialTypePassword ICECredentialType = iota
|
|
|
|
// ICECredentialTypeOauth describes token based credential as described
|
|
// in https://tools.ietf.org/html/rfc7635.
|
|
ICECredentialTypeOauth
|
|
)
|
|
|
|
// This is done this way because of a linter.
|
|
const (
|
|
iceCredentialTypePasswordStr = "password"
|
|
iceCredentialTypeOauthStr = "oauth"
|
|
)
|
|
|
|
func newICECredentialType(raw string) ICECredentialType {
|
|
switch raw {
|
|
case iceCredentialTypePasswordStr:
|
|
return ICECredentialTypePassword
|
|
case iceCredentialTypeOauthStr:
|
|
return ICECredentialTypeOauth
|
|
default:
|
|
return ICECredentialType(Unknown)
|
|
}
|
|
}
|
|
|
|
func (t ICECredentialType) String() string {
|
|
switch t {
|
|
case ICECredentialTypePassword:
|
|
return iceCredentialTypePasswordStr
|
|
case ICECredentialTypeOauth:
|
|
return iceCredentialTypeOauthStr
|
|
default:
|
|
return ErrUnknownType.Error()
|
|
}
|
|
}
|