|
//-----------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities
{
using System;
using System.Activities.Runtime;
using System.Runtime;
[Fx.Tag.XamlVisible(false)]
public sealed class NativeActivityFaultContext : NativeActivityContext
{
bool isFaultHandled;
Exception exception;
ActivityInstanceReference source;
internal NativeActivityFaultContext(ActivityInstance executingActivityInstance,
ActivityExecutor executor, BookmarkManager bookmarkManager, Exception exception, ActivityInstanceReference source)
: base(executingActivityInstance, executor, bookmarkManager)
{
Fx.Assert(exception != null, "There must be an exception.");
Fx.Assert(source != null, "There must be a source.");
this.exception = exception;
this.source = source;
}
internal bool IsFaultHandled
{
get
{
return this.isFaultHandled;
}
}
public void HandleFault()
{
ThrowIfDisposed();
this.isFaultHandled = true;
}
internal FaultContext CreateFaultContext()
{
Fx.Assert(!this.IsDisposed, "We must not have been disposed.");
return new FaultContext(this.exception, this.source);
}
}
}
|