Files
AynaLivePlayer/core/model/application.go
2023-02-21 16:21:29 -08:00

36 lines
644 B
Go

package model
import "fmt"
type VersionInfo struct {
Version Version
Info string
}
type Version uint32
func (v Version) String() string {
return fmt.Sprintf("%d.%d.%d", (v>>16)&0xff, (v>>8)&0xff, v&0xff)
}
func (v Version) Major() uint8 {
return uint8((v >> 16) & 0xff)
}
func (v Version) Minor() uint8 {
return uint8((v >> 8) & 0xff)
}
func (v Version) Patch() uint8 {
return uint8(v & 0xff)
}
func VersionFromString(s string) Version {
var major, minor, patch uint8
_, err := fmt.Sscanf(s, "%d.%d.%d", &major, &minor, &patch)
if err != nil {
return 0
}
return Version(major)<<16 | Version(minor)<<8 | Version(patch)
}