EdgexAgent/device-ble-go/vendor/github.com/parallaxsecond/parsec-client-go/interface/requests/provider.go
2025-07-10 20:40:32 +08:00

43 lines
911 B
Go

// Copyright 2021 Contributors to the Parsec project.
// SPDX-License-Identifier: Apache-2.0
package requests
// ProviderID for providers
type ProviderID uint8
// Provider UUIDs
const (
ProviderCore ProviderID = 0
ProviderMBed ProviderID = 1
ProviderPKCS11 ProviderID = 2
ProviderTPM ProviderID = 3
ProviderTrustedService ProviderID = 4
)
// HasCrypto returns true if the provider supports crypto
func (p ProviderID) HasCrypto() bool {
return p.IsValid() && p != ProviderCore
}
func (p ProviderID) IsValid() bool {
return p >= ProviderCore && p <= ProviderTrustedService
}
func (p ProviderID) String() string {
switch p {
case ProviderCore:
return "Core"
case ProviderMBed:
return "MBed"
case ProviderPKCS11:
return "PKCS11"
case ProviderTPM:
return "TPM"
case ProviderTrustedService:
return "TrustedService"
default:
return "Unknown"
}
}