DVKioskPolicy class

One kiosk's declared policy.

Never throws on bad input: a policy that cannot be read has to report what is wrong with it, because the alternative is a device that will not boot with no way to see why.

Constructors

DVKioskPolicy({required bool enabled, required DVKioskScope scope, required String home, required List<String> allow, required DVKioskExternal external, required List<String> externalAllow, required bool blockSystemGestures, required bool blockHardwareKeys, required bool blockShortcuts, required bool blockClipboard, required bool blockTextSelection, required DVKioskCursor hideCursor, required Duration? screenDim, required Duration idleTimeout, required Duration idleWarning, required DVKioskIdleAction onIdle, required Set<DVKioskClearable> clearOnReset, required bool fullscreen, required DVKioskExitMethod exitMethod, required String? exitPinSecret, required int maxAttempts, required Duration lockoutFor, required bool audit, required DVKioskUpdateApply updatesApply, required DVMaintenanceWindow? updatesWindow, required List<String> problems})
const

Properties

allow → List<String>
Route patterns the kiosk permits. Empty means every application route, which is the documented default -- read as "allow nothing" it would make a kiosk show its home route and refuse every link on it.
final
audit → bool
final
blockClipboard → bool
Whether the clipboard is locked, from input.clipboard.
final
blockHardwareKeys → bool
final
blockShortcuts → bool
final
blockSystemGestures → bool
final
blockTextSelection → bool
Whether page text can be selected, from input.textSelection.
final
clearOnReset → Set<DVKioskClearable>
final
enabled → bool
final
exitMethod → DVKioskExitMethod
final
exitPinSecret → String?
The name of the secret holding the exit PIN, never the PIN.
final
external → DVKioskExternal
Whether a URL that is not this application may be opened, from routes.external.
final
externalAllow → List<String>
The addresses DVKioskExternal.allowlist permits, from routes.externalAllow.
final
fullscreen → bool
final
hashCode → int
The hash code for this object.
no setterinherited
hideCursor → DVKioskCursor
Whether the pointer is hidden over the application, from display.hideCursor.
final
home → String
The attract route, returned to on idle and after a reset.
final
idleTimeout → Duration
final
idleWarning → Duration
final
lockoutFor → Duration
final
maxAttempts → int
final
onIdle → DVKioskIdleAction
final
problems → List<String>
Declarations that cannot be honoured, in the specification's terms.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scope → DVKioskScope
final
screenDim → Duration?
How long the surface stays lit with nobody there, or null for never.
final
updatesApply → DVKioskUpdateApply
When this kiosk may apply an update it has found.
final
updatesWindow → DVMaintenanceWindow?
The span of the day DVKioskUpdateApply.maintenanceWindow waits for.
final

Methods

allowsExternal(String url) → bool
Whether url may be handed to something that is not this application.
allowsRoute(String route) → bool
Whether route is inside the allowlist.
decideUpdate({required DVUpdateInfo update, required DVKioskState state, required DateTime now}) → DVKioskUpdateDecision
What this kiosk should do with update, under its declared policy.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

parse(Object? dartvelSection) → DVKioskPolicy
Reads dartvel.kiosk.