536cd135cc
Former-commit-id: 5624ac747d633e885131e8349322922b6a59baaa
166 lines
4.7 KiB
C#
166 lines
4.7 KiB
C#
// ****************************************************************************
|
|
// Copyright (C) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
using System;
|
|
using System.IO;
|
|
using System.Threading;
|
|
using System.Diagnostics;
|
|
using System.Globalization;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
|
|
using System.Workflow.Runtime;
|
|
using System.Workflow.ComponentModel;
|
|
using System.Workflow.Runtime.Hosting;
|
|
|
|
namespace System.Workflow.Runtime
|
|
{
|
|
|
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
|
public class WorkflowEventArgs : EventArgs
|
|
{
|
|
private WorkflowInstance _instance;
|
|
|
|
internal WorkflowEventArgs(WorkflowInstance instance)
|
|
{
|
|
_instance = instance;
|
|
}
|
|
|
|
public WorkflowInstance WorkflowInstance
|
|
{
|
|
get
|
|
{
|
|
return _instance;
|
|
}
|
|
}
|
|
}
|
|
|
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
|
public class WorkflowCompletedEventArgs : WorkflowEventArgs
|
|
{
|
|
private Dictionary<String, Object> _outputParameters;
|
|
private Activity _originalWorkflowDefinition;
|
|
private Activity _workflowDefinition;
|
|
|
|
internal WorkflowCompletedEventArgs(WorkflowInstance instance, Activity workflowDefinition)
|
|
: base(instance)
|
|
{
|
|
this._outputParameters = new Dictionary<String, Object>();
|
|
this._originalWorkflowDefinition = workflowDefinition;
|
|
this._workflowDefinition = null;
|
|
}
|
|
|
|
public Dictionary<String, Object> OutputParameters
|
|
{
|
|
get
|
|
{
|
|
return this._outputParameters;
|
|
}
|
|
}
|
|
|
|
public Activity WorkflowDefinition
|
|
{
|
|
get
|
|
{
|
|
if (this._workflowDefinition == null)
|
|
{
|
|
using (new WorkflowDefinitionLock(this._originalWorkflowDefinition))
|
|
{
|
|
if (this._workflowDefinition == null)
|
|
{
|
|
// Clone the original definition after locking the
|
|
// definition's sync object which was passed in
|
|
// the constructor. This is so that the host cannot
|
|
// corrupt the shared definition
|
|
Activity tempDefinition = this._originalWorkflowDefinition.Clone();
|
|
Thread.MemoryBarrier();
|
|
this._workflowDefinition = tempDefinition;
|
|
}
|
|
}
|
|
}
|
|
|
|
return this._workflowDefinition;
|
|
}
|
|
}
|
|
}
|
|
|
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
|
public class WorkflowSuspendedEventArgs : WorkflowEventArgs
|
|
{
|
|
private String _error;
|
|
|
|
internal WorkflowSuspendedEventArgs(WorkflowInstance instance, String error)
|
|
: base(instance)
|
|
{
|
|
this._error = error;
|
|
}
|
|
|
|
public String Error
|
|
{
|
|
get
|
|
{
|
|
return this._error;
|
|
}
|
|
}
|
|
}
|
|
|
|
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
|
|
public class WorkflowTerminatedEventArgs : WorkflowEventArgs
|
|
{
|
|
private Exception exception;
|
|
|
|
internal WorkflowTerminatedEventArgs(WorkflowInstance instance, String error)
|
|
: base(instance)
|
|
{
|
|
this.exception = new WorkflowTerminatedException(error);
|
|
}
|
|
internal WorkflowTerminatedEventArgs(WorkflowInstance instance, Exception e)
|
|
: base(instance)
|
|
{
|
|
this.exception = e;
|
|
}
|
|
|
|
public Exception Exception
|
|
{
|
|
get
|
|
{
|
|
return this.exception;
|
|
}
|
|
}
|
|
}
|
|
|
|
internal sealed class WorkflowDefinitionEventArgs : EventArgs
|
|
{
|
|
private Type _workflowType;
|
|
private byte[] _xomlHashCode;
|
|
|
|
internal WorkflowDefinitionEventArgs(Type scheduleType)
|
|
{
|
|
_workflowType = scheduleType;
|
|
}
|
|
|
|
internal WorkflowDefinitionEventArgs(byte[] scheduleDefHash)
|
|
{
|
|
_xomlHashCode = scheduleDefHash;
|
|
}
|
|
|
|
public Type WorkflowType
|
|
{
|
|
get
|
|
{
|
|
return _workflowType;
|
|
}
|
|
}
|
|
|
|
public byte[] WorkflowDefinitionHashCode
|
|
{
|
|
get
|
|
{
|
|
return _xomlHashCode;
|
|
}
|
|
}
|
|
}
|
|
}
|