macosutil

package
v0.0.0-...-60c5125 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const GlobalPreferencesDomain = ".GlobalPreferences"
View Source
const (
	ProcessNameLogArg = "process_name"
)

Variables

View Source
var (
	ErrFailedParsingMajorVersion      = errors.New("failed parsing major version")
	ErrFailedToGetMacOSVersion        = errors.New("failed to get macOS version")
	ErrFailedToGetMacOSVersionName    = errors.New("failed to get macOS version name")
	ErrNotMacOS                       = errors.New("not running on macOS")
	ErrUnrecognizedMacOSVersion       = errors.New("unrecognized macOS version")
	ErrUnrecognizedMacOSVersionFormat = errors.New("unrecognized macOS version format")

	ErrUnknownPreferenceError  = errors.New("unknown preference error")
	ErrInvalidInput            = errors.New("invalid preference")
	ErrInvalidPreferenceDomain = errors.New("invalid preference domain")
	ErrUnsupportedType         = errors.New("unsupported preference type")
	ErrPreferenceNotFound      = errors.New("preference not found")

	ErrFailedToCreateCFString = errors.New("failed to create CFString")
	ErrFailedToGetPrefDomains = errors.New("failed to get preference domains")
	ErrFailedToGetPrefDomain  = errors.New("failed to get preference domain")
	ErrFailedToKillProcess    = errors.New("failed to kill process")
)
View Source
var ErrNotAFloat = fmt.Errorf("string value does not represent a float value")
View Source
var MajorNeedsMinor = "10"

MajorNeedsMinor is the version of macOS — "10" — where Apple released new named versions incrementing by 0.1, e.g. 10.0, 10.1, 10.2, etc. After this version Apple released new named versions incrementing macOS by 1.0, eg. 11, 12, 13, etc.

Functions

func ApplyPreferences

func ApplyPreferences(domain string, prefs []*Preference) (err error)

func GetFloatPrecision

func GetFloatPrecision(f string) (prec int, err error)

func GetFloatPrecisionSAVE

func GetFloatPrecisionSAVE(f string) (prec int, err error)

func GetKind

func GetKind(typ PreferenceType) (kind reflect.Kind)

func KillProcess

func KillProcess(name ProcessName) (err error)

func SetPreference

func SetPreference(domain, name, value string) (err error)

func SyncDomainPreferences

func SyncDomainPreferences(domain string)

func ValidateVersionName

func ValidateVersionName(name Name) bool

func ValidateVersionNumber

func ValidateVersionNumber(num VersionNumber) bool

Types

type ApplyOpts

type ApplyOpts struct {
	SkipSync bool
}

type CFBoolean

type CFBoolean struct {
	// contains filtered or unexported fields
}

func NewCFBoolean

func NewCFBoolean(b bool) *CFBoolean

func (*CFBoolean) CFBoolean

func (s *CFBoolean) CFBoolean() C.CFBooleanRef

func (*CFBoolean) IsNull

func (s *CFBoolean) IsNull() bool

func (*CFBoolean) Pointer

func (s *CFBoolean) Pointer() unsafe.Pointer

func (*CFBoolean) Release

func (s *CFBoolean) Release()

type CFDouble

type CFDouble struct {
	// contains filtered or unexported fields
}

func NewCFDouble

func NewCFDouble(d float64) *CFDouble

func (*CFDouble) CFDouble

func (d *CFDouble) CFDouble() C.CFNumberRef

func (*CFDouble) IsNull

func (d *CFDouble) IsNull() bool

func (*CFDouble) Pointer

func (d *CFDouble) Pointer() unsafe.Pointer

func (*CFDouble) Release

func (d *CFDouble) Release()

type CFLongLong

type CFLongLong struct {
	// contains filtered or unexported fields
}

func NewCFLongLong

func NewCFLongLong(ll int64) *CFLongLong

func (*CFLongLong) CFLongLong

func (ll *CFLongLong) CFLongLong() C.CFNumberRef

func (*CFLongLong) IsNull

func (ll *CFLongLong) IsNull() bool

func (*CFLongLong) Pointer

func (ll *CFLongLong) Pointer() unsafe.Pointer

func (*CFLongLong) Release

func (ll *CFLongLong) Release()

type CFPropertyListRef

type CFPropertyListRef struct {
	// contains filtered or unexported fields
}

func NewCFPropertyListRef

func NewCFPropertyListRef(value string) *CFPropertyListRef

func (*CFPropertyListRef) IsNull

func (ref *CFPropertyListRef) IsNull() bool

func (*CFPropertyListRef) Release

func (ref *CFPropertyListRef) Release()

type CFString

type CFString struct {
	// contains filtered or unexported fields
}

func NewCFString

func NewCFString(s string) *CFString

func (*CFString) CFString

func (s *CFString) CFString() C.CFStringRef

func (*CFString) IsNull

func (s *CFString) IsNull() bool

func (*CFString) Pointer

func (s *CFString) Pointer() unsafe.Pointer

func (*CFString) Release

func (s *CFString) Release()

type Code

type Code = types.Code
var (
	Sequoia      Code = "sequoia"
	Sonoma       Code = "sonoma"
	Ventura      Code = "ventura"
	Monterey     Code = "monterey"
	BigSur       Code = "bigSur"
	Catalina     Code = "catalina"
	Mojave       Code = "mojave"
	HighSierra   Code = "highSierra"
	Sierra       Code = "sierra"
	ElCapitan    Code = "elCapitan"
	Yosemite     Code = "yosemite"
	Mavericks    Code = "mavericks"
	MountainLion Code = "mountainLion"
	Lion         Code = "lion"
	SnowLeopard  Code = "snowLeopard"
	Leopard      Code = "leopard"
	Tiger        Code = "tiger"
	Panther      Code = "panther"
	Jaguar       Code = "jaguar"
	Puma         Code = "puma"
	Cheetah      Code = "cheetah"
)

func GetVersionCode

func GetVersionCode(num VersionNumber) (code Code)

func MustGetVersionCode

func MustGetVersionCode() Code

func VersionCode

func VersionCode() (code Code, err error)

type DomainName

type DomainName string

type Identifier

type Identifier string

func PreferenceId

func PreferenceId(domain string, name string) Identifier

type MacOSUtil

type MacOSUtil interface {
	GetPreferenceDomains(RetrievalArgs) (domains []PreferenceDomain, err error)
	GetPreferences(d PreferenceDomain) (prefs []*Preference, err error)
	GetPreference(domain string, name string) (dp *Preference, err error)
	GetVersionNumber() (v VersionNumber, err error)
	VersionName() (name Name, err error)
	GetVersionName(code Code) (name Name)
	GetVersionCode(num VersionNumber) (code Code)
	VersionCode() (code Code, err error)
	MustGetVersionNumber() VersionNumber
	MustGetVersionCode() Code
	ValidateVersionNumber(VersionNumber) bool
	ValidateVersionName(Name) bool
	ValidVersionNumbers() []VersionNumber
	ApplyPreferences(domain string, prefs []*Preference) (err error)
	SetPreference(domain, name, value string) (err error)
}

func New

func New() MacOSUtil

type NULL

type NULL = struct{}

type Name

type Name = types.Name

func GetVersionName

func GetVersionName(code Code) (name Name)

func VersionName

func VersionName() (name Name, err error)

type OSVersion

type OSVersion string

type Preference

type Preference struct {
	Domain      string
	Name        string
	Value       string
	Description string
	Kind        reflect.Kind
	// contains filtered or unexported fields
}

func GetPreference

func GetPreference(domain string, name string) (dp *Preference, err error)

func GetPreferences

func GetPreferences(d PreferenceDomain) (prefs []*Preference, err error)

func (*Preference) ApplyPreference

func (p *Preference) ApplyPreference(opts ApplyOpts) (err error)

ApplyPreference applies a single preference for the specified domain

func (*Preference) Id

func (p *Preference) Id() Identifier

func (*Preference) SyncPreference

func (p *Preference) SyncPreference()

func (*Preference) Valid

func (p *Preference) Valid() bool

type PreferenceDomain

type PreferenceDomain string

func GetPreferenceDomains

func GetPreferenceDomains(args RetrievalArgs) (domains []PreferenceDomain, err error)

type PreferenceName

type PreferenceName string

type PreferenceType

type PreferenceType string
var (
	InvalidType PreferenceType = "invalid"
	StringType  PreferenceType = "string"
	IntegerType PreferenceType = "integer"
	BooleanType PreferenceType = "boolean"
	ArrayType   PreferenceType = "array"
)

func GetType

func GetType(kind reflect.Kind) (_ reflect.Kind, typ PreferenceType)

type ProcessName

type ProcessName string

func GetProcessToKill

func GetProcessToKill(name DomainName) ProcessName

type RetrievalArgs

type RetrievalArgs struct {
	Domains []PreferenceDomain
	// contains filtered or unexported fields
}

func (*RetrievalArgs) FilterDomains

func (args *RetrievalArgs) FilterDomains() bool

func (*RetrievalArgs) HasDomain

func (args *RetrievalArgs) HasDomain(domain PreferenceDomain) (has bool)

type VersionNumber

type VersionNumber string

func GetVersionNumber

func GetVersionNumber() (v VersionNumber, err error)

func MustGetVersionNumber

func MustGetVersionNumber() VersionNumber

func ValidVersionNumbers

func ValidVersionNumbers() []VersionNumber

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL