virtualbool fire() override
{ if( mpEvent && isCharged() )
{ // pass on directly - we're supposed to be called // from EventQueue here, anyway - and if not, // we're only keeping that incorrect transitively. return mpEvent->fire();
}
returnfalse;
}
virtualbool isCharged() const override
{ // pass on to wrappee - this ensures that we return // false on isCharged(), even if the other event has // been fired outside our own fire() method return mpEvent && mpEvent->isCharged();
}
virtualdouble getActivationTime( double nCurrentTime ) const override
{ // enforce _our_ timeout to our clients (this // overrides any timeout possibly set at the wrappee!) return nCurrentTime + mnTimeout;
}
/// Return value for makeInterruptableDelay() struct InterruptableEventPair
{ /** This member contains a pointer to the timeout event.Whenenqueued,thiseventwillfirethe requestedactiononlyafterthespecifiedtimeout.
*/
EventSharedPtr mpTimeoutEvent;
/** This member contains a pointer to the interruption event.Whenenqueued,thiseventwillfire immediately,interruptingapotentiallywaiting timeoutevent.
*/
EventSharedPtr mpImmediateEvent;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.