CampaignPresentation class abstract
A claim ticket for one delivered trigger, owned exclusively by the plugin that delivered it.
This is the read face. Core creates, emits and settles through the
matching write face, PresentationController. Plugins may read outcome
and holdReleased, subscribe to signals, and cancel; they must never
settle — that guarantee is core's, and it is what makes releasing a CEP
slot a single line:
final presentation = host.deliver(trigger); // never throws
await presentation.holdReleased; // never rejects, settles once
await releaseTheCepSlot(); // every path reaches here
Constructors
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
-
holdReleased
→ Future<
void> -
"The CEP may release its hold — slot, queue, gate — now."
no setter
- id → String
-
Minted by core when the trigger was delivered. UUID-grade: it is also the
first-party analytics dedup key, so it must not collide across sessions
or devices.
no setter
-
outcome
→ Future<
PresentationOutcome> -
Completes exactly once with the terminal result, and never with an error.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → PresentationState
-
A synchronous peek, for logs and debugging. Control flow must use
outcome — never poll this.
no setter
- trigger → CEPTriggerPayload
-
The trigger exactly as delivered.
no setter
Methods
-
cancel(
) → void - Owner-initiated termination — the CEP closed its template, the user logged out. Idempotent, safe in any state, and a no-op once settled.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
onSignal(
void listener(PresentationSignal signal)) → void Function() - Subscribes to this presentation's signals.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited