Documentation
¶
Overview ¶
Package linuxcallback owns the installed Linux portal callback, not producer policy.
Index ¶
- Constants
- Variables
- func CheckInstallation(b notification.LinuxBinding, s Snapshot) error
- func CheckSelected(s Snapshot) error
- func CheckSelectedContext(ctx context.Context, s Snapshot) error
- func Digest(b []byte) string
- func ReadOwned(path string, limit int64) ([]byte, error)
- func RegistrationBytes(s Snapshot, b notification.LinuxBinding) ([]byte, []byte, error)
- func Serve(ctx context.Context, binding notification.LinuxBinding) error
- func ThreadURI(thread string) (string, error)
- type Clock
- type Handler
- type Owners
- type Portal
- type Record
- type Snapshot
- type VendorEntry
- type VendorManifest
Constants ¶
View Source
const ReaderMarker = "agent-notifications-linux-callback-reader-v1"
Variables ¶
Functions ¶
func CheckInstallation ¶
func CheckInstallation(b notification.LinuxBinding, s Snapshot) error
func CheckSelected ¶
func RegistrationBytes ¶
func RegistrationBytes(s Snapshot, b notification.LinuxBinding) ([]byte, []byte, error)
Both activation parsers receive only absolute fixed arguments. Unsupported paths fail setup rather than acquiring shell/desktop interpolation authority.
func Serve ¶
func Serve(ctx context.Context, binding notification.LinuxBinding) error
Types ¶
type Handler ¶
type Handler struct {
Snapshot Snapshot
Binding notification.LinuxBinding
Clock Clock
ReadOwners func(context.Context) (Owners, error)
Verify func(context.Context, Snapshot) error
Launch func(context.Context, Snapshot, string, string) error
}
Handler's injected effects are narrow callback contracts. A single method invocation creates one fresh click budget and invokes the opener at most once.
type Portal ¶
type Portal struct {
// contains filtered or unexported fields
}
Portal is opened only for an explicitly selected navigation target. Ordinary no-navigation delivery retains its existing Freedesktop channel.
func Open ¶
func Open(ctx context.Context, binding notification.LinuxBinding) (*Portal, error)
type Snapshot ¶
type Snapshot struct {
Version int
InstallationID, ApplicationID string
Launcher, Executable string
LauncherSHA256, ExecutableSHA256 string
ReleaseSHA256, ManifestSHA256 string
Reader, ReaderSHA256, DataRoot string
Records string
}
Snapshot remains readable independently of the mutable ledger, journal and current setup. Readers and snapshots are retained until native lifetime is known.
func Load ¶
func Load(binding notification.LinuxBinding) (Snapshot, error)
func SelectedSnapshot ¶
type VendorEntry ¶
type VendorManifest ¶
Click to show internal directories.
Click to hide internal directories.