Quintiq file version 2.0
|
#parent: #root
|
Method PollBreakpoints (LibOpt_Task task) as stream[Void]
|
{
|
TextBody:
|
[*
|
result := null( stream[Void] );
|
if( task.CanContinue() )
|
{
|
continue := this.CanContinueBreakpoint( task );
|
|
// Create a dataset copy when the AE requests a copy by pressing the 'Create dataset copy' button in the 'Component positions' form.
|
if( this.HasToCreateDatasetOnBreakpoint() )
|
{
|
LibOpt_DatasetCopyConditional::CopyDataset( task,
|
"Breakpoint " + task.ComponentPosition().Name(),
|
false // We can only reach this if-block if PollBreakpoints is called reactively, so we can safely create a quick/reactive dataset copy here.
|
);
|
|
this.HasToCreateDatasetOnBreakpoint( false );
|
}
|
|
if( continue )
|
{
|
result := emit( void );
|
}
|
else
|
{
|
if( this.BreakpointPollDuration() <= Duration::Zero() )
|
{
|
result := this->PollBreakpoints( task );
|
}
|
else
|
{
|
result := stream[Void]::Wait( this.BreakpointPollDuration() )
|
->|this->PollBreakpoints( task );
|
}
|
}
|
task.IsWaiting( not continue );
|
}
|
|
return result;
|
*]
|
InterfaceProperties { Accessibility: 'Module' }
|
}
|