mirror of
https://github.com/safing/portmaster
synced 2025-09-01 18:19:12 +00:00
38 lines
1 KiB
Go
38 lines
1 KiB
Go
package updates
|
|
|
|
import (
|
|
"fmt"
|
|
"path"
|
|
"runtime"
|
|
|
|
"github.com/safing/portbase/updater"
|
|
)
|
|
|
|
// GetPlatformFile returns the latest platform specific file identified by the given identifier.
|
|
func GetPlatformFile(identifier string) (*updater.File, error) {
|
|
identifier = path.Join(fmt.Sprintf("%s_%s", runtime.GOOS, runtime.GOARCH), identifier)
|
|
// From https://golang.org/pkg/runtime/#GOARCH
|
|
// GOOS is the running program's operating system target: one of darwin, freebsd, linux, and so on.
|
|
// GOARCH is the running program's architecture target: one of 386, amd64, arm, s390x, and so on.
|
|
|
|
file, err := registry.GetFile(identifier)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
module.TriggerEvent(eventVersionUpdate, nil)
|
|
return file, nil
|
|
}
|
|
|
|
// GetFile returns the latest generic file identified by the given identifier.
|
|
func GetFile(identifier string) (*updater.File, error) {
|
|
identifier = path.Join("all", identifier)
|
|
|
|
file, err := registry.GetFile(identifier)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
module.TriggerEvent(eventVersionUpdate, nil)
|
|
return file, nil
|
|
}
|