Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / ActivityInterfaces.cs / 1305376 / ActivityInterfaces.cs
// **************************************************************************** // Copyright (C) 2000-2001 Microsoft Corporation. All rights reserved. // // CONTENTS // Activity interface // // DESCRIPTION // // REVISIONS // Date Ver By Remarks // ~~~~~~~~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~ // 03/19/04 1.0 MayankM interfaces // *************************************************************************** namespace System.Workflow.ComponentModel { using System; using System.IO; using System.Text; using System.ComponentModel; using System.ComponentModel.Design; using System.CodeDom; using System.ComponentModel.Design.Serialization; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Reflection; using System.Security.Principal; using System.Security.Cryptography; using Microsoft.CSharp; using System.Workflow.ComponentModel.Compiler; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.ObjectModel; using System.Runtime.Serialization; using System.Threading; public interface IDynamicPropertyTypeProvider { Type GetPropertyType(IServiceProvider serviceProvider, string propertyName); AccessTypes GetAccessType(IServiceProvider serviceProvider, string propertyName); } internal interface ISupportWorkflowChanges { void OnActivityAdded(ActivityExecutionContext rootContext, Activity addedActivity); void OnActivityRemoved(ActivityExecutionContext rootContext, Activity removedActivity); void OnWorkflowChangesCompleted(ActivityExecutionContext rootContext); } internal interface ISupportAlternateFlow { IListAlternateFlowActivities { get; } } [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = false)] internal sealed class ActivityExecutorAttribute : Attribute { private string executorTypeName = string.Empty; public ActivityExecutorAttribute(Type executorType) { if (executorType != null) this.executorTypeName = executorType.AssemblyQualifiedName; } public ActivityExecutorAttribute(string executorTypeName) { this.executorTypeName = executorTypeName; } public string ExecutorTypeName { get { return this.executorTypeName; } } } public enum ActivityExecutionStatus : byte { Initialized = 0, Executing = 1, Canceling = 2, Closed = 3, Compensating = 4, Faulting = 5 } public enum ActivityExecutionResult : byte { None = 0, Succeeded = 1, Canceled = 2, Compensated = 3, Faulted = 4, Uninitialized = 5 } internal interface IDependencyObjectAccessor { //This method is invoked during the definition creation time void InitializeDefinitionForRuntime(DependencyObject parentDependencyObject); //This is invoked for every instance (not necessarily activating) void InitializeInstanceForRuntime(IWorkflowCoreRuntime workflowCoreRuntime); //This is invoked for every activating instance void InitializeActivatingInstanceForRuntime(DependencyObject parentDependencyObject,IWorkflowCoreRuntime workflowCoreRuntime); T[] GetInvocationList (DependencyProperty dependencyEvent); } public interface IStartWorkflow { Guid StartWorkflow(Type workflowType, Dictionary namedArgumentValues); } internal interface IWorkflowCoreRuntime : IServiceProvider { // context information Activity RootActivity { get; } Activity CurrentActivity { get; } Activity CurrentAtomicActivity { get; } IDisposable SetCurrentActivity(Activity activity); void ScheduleItem(SchedulableItem item, bool isInAtomicTransaction, bool transacted, bool queueInTransaction); void ActivityStatusChanged(Activity activity, bool transacted, bool committed); void RaiseException(Exception e, Activity activity, string responsibleActivity); void RaiseActivityExecuting(Activity activity); void RaiseHandlerInvoking(Delegate delegateHandler); void RaiseHandlerInvoked(); Guid StartWorkflow(Type workflowType, Dictionary namedArgumentValues); // context activity related int GetNewContextActivityId(); void RegisterContextActivity(Activity activity); void UnregisterContextActivity(Activity activity); Activity LoadContextActivity(ActivityExecutionContextInfo contextInfo, Activity outerContextActivity); void SaveContextActivity(Activity contextActivity); Activity GetContextActivityForId(int id); Object GetService(Activity currentActivity, Type serviceType); void PersistInstanceState(Activity activity); //Dynamic change notifications bool OnBeforeDynamicChange(IList changes); void OnAfterDynamicChange(bool updateSucceeded, IList changes); bool IsDynamicallyUpdated { get; } // root level access Guid InstanceID { get; } bool SuspendInstance(string suspendDescription); void TerminateInstance(Exception e); bool Resume(); void CheckpointInstanceState(Activity currentActivity); void RequestRevertToCheckpointState(Activity currentActivity, EventHandler callbackHandler, EventArgs callbackData, bool suspendOnRevert, string suspendReason); void DisposeCheckpointState(); // User Tracking void Track(string key, object data); // Timer Events WaitCallback ProcessTimersCallback { get; } } internal interface ITimerService { void ScheduleTimer(WaitCallback callback, Guid workflowInstanceId, DateTime whenUtc, Guid timerId); void CancelTimer(Guid timerId); } [Serializable()] public sealed class WorkflowTerminatedException : Exception { private WorkflowTerminatedException(SerializationInfo info, StreamingContext context) : base(info, context) { } public WorkflowTerminatedException() : base(SR.GetString(SR.Error_WorkflowTerminated)) { } public WorkflowTerminatedException(string message): base(message) { } public WorkflowTerminatedException(string message, Exception exception) : base(message, exception) { } } public interface ICompensatableActivity { ActivityExecutionStatus Compensate(ActivityExecutionContext executionContext); } #region Class AlternateFlowActivityAttribute [AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = false)] public sealed class AlternateFlowActivityAttribute : Attribute { } #endregion #region Class SupportsTransactionAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] internal sealed class SupportsTransactionAttribute : Attribute { } #endregion #region Class SupportsSynchronizationAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] internal sealed class SupportsSynchronizationAttribute : Attribute { } #endregion #region Class PersistOnCloseAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class PersistOnCloseAttribute : Attribute { } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. // **************************************************************************** // Copyright (C) 2000-2001 Microsoft Corporation. All rights reserved. // // CONTENTS // Activity interface // // DESCRIPTION // // REVISIONS // Date Ver By Remarks // ~~~~~~~~~~ ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~ // 03/19/04 1.0 MayankM interfaces // *************************************************************************** namespace System.Workflow.ComponentModel { using System; using System.IO; using System.Text; using System.ComponentModel; using System.ComponentModel.Design; using System.CodeDom; using System.ComponentModel.Design.Serialization; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Reflection; using System.Security.Principal; using System.Security.Cryptography; using Microsoft.CSharp; using System.Workflow.ComponentModel.Compiler; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.ObjectModel; using System.Runtime.Serialization; using System.Threading; public interface IDynamicPropertyTypeProvider { Type GetPropertyType(IServiceProvider serviceProvider, string propertyName); AccessTypes GetAccessType(IServiceProvider serviceProvider, string propertyName); } internal interface ISupportWorkflowChanges { void OnActivityAdded(ActivityExecutionContext rootContext, Activity addedActivity); void OnActivityRemoved(ActivityExecutionContext rootContext, Activity removedActivity); void OnWorkflowChangesCompleted(ActivityExecutionContext rootContext); } internal interface ISupportAlternateFlow { IList AlternateFlowActivities { get; } } [AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Interface, AllowMultiple = false)] internal sealed class ActivityExecutorAttribute : Attribute { private string executorTypeName = string.Empty; public ActivityExecutorAttribute(Type executorType) { if (executorType != null) this.executorTypeName = executorType.AssemblyQualifiedName; } public ActivityExecutorAttribute(string executorTypeName) { this.executorTypeName = executorTypeName; } public string ExecutorTypeName { get { return this.executorTypeName; } } } public enum ActivityExecutionStatus : byte { Initialized = 0, Executing = 1, Canceling = 2, Closed = 3, Compensating = 4, Faulting = 5 } public enum ActivityExecutionResult : byte { None = 0, Succeeded = 1, Canceled = 2, Compensated = 3, Faulted = 4, Uninitialized = 5 } internal interface IDependencyObjectAccessor { //This method is invoked during the definition creation time void InitializeDefinitionForRuntime(DependencyObject parentDependencyObject); //This is invoked for every instance (not necessarily activating) void InitializeInstanceForRuntime(IWorkflowCoreRuntime workflowCoreRuntime); //This is invoked for every activating instance void InitializeActivatingInstanceForRuntime(DependencyObject parentDependencyObject,IWorkflowCoreRuntime workflowCoreRuntime); T[] GetInvocationList (DependencyProperty dependencyEvent); } public interface IStartWorkflow { Guid StartWorkflow(Type workflowType, Dictionary namedArgumentValues); } internal interface IWorkflowCoreRuntime : IServiceProvider { // context information Activity RootActivity { get; } Activity CurrentActivity { get; } Activity CurrentAtomicActivity { get; } IDisposable SetCurrentActivity(Activity activity); void ScheduleItem(SchedulableItem item, bool isInAtomicTransaction, bool transacted, bool queueInTransaction); void ActivityStatusChanged(Activity activity, bool transacted, bool committed); void RaiseException(Exception e, Activity activity, string responsibleActivity); void RaiseActivityExecuting(Activity activity); void RaiseHandlerInvoking(Delegate delegateHandler); void RaiseHandlerInvoked(); Guid StartWorkflow(Type workflowType, Dictionary namedArgumentValues); // context activity related int GetNewContextActivityId(); void RegisterContextActivity(Activity activity); void UnregisterContextActivity(Activity activity); Activity LoadContextActivity(ActivityExecutionContextInfo contextInfo, Activity outerContextActivity); void SaveContextActivity(Activity contextActivity); Activity GetContextActivityForId(int id); Object GetService(Activity currentActivity, Type serviceType); void PersistInstanceState(Activity activity); //Dynamic change notifications bool OnBeforeDynamicChange(IList changes); void OnAfterDynamicChange(bool updateSucceeded, IList changes); bool IsDynamicallyUpdated { get; } // root level access Guid InstanceID { get; } bool SuspendInstance(string suspendDescription); void TerminateInstance(Exception e); bool Resume(); void CheckpointInstanceState(Activity currentActivity); void RequestRevertToCheckpointState(Activity currentActivity, EventHandler callbackHandler, EventArgs callbackData, bool suspendOnRevert, string suspendReason); void DisposeCheckpointState(); // User Tracking void Track(string key, object data); // Timer Events WaitCallback ProcessTimersCallback { get; } } internal interface ITimerService { void ScheduleTimer(WaitCallback callback, Guid workflowInstanceId, DateTime whenUtc, Guid timerId); void CancelTimer(Guid timerId); } [Serializable()] public sealed class WorkflowTerminatedException : Exception { private WorkflowTerminatedException(SerializationInfo info, StreamingContext context) : base(info, context) { } public WorkflowTerminatedException() : base(SR.GetString(SR.Error_WorkflowTerminated)) { } public WorkflowTerminatedException(string message): base(message) { } public WorkflowTerminatedException(string message, Exception exception) : base(message, exception) { } } public interface ICompensatableActivity { ActivityExecutionStatus Compensate(ActivityExecutionContext executionContext); } #region Class AlternateFlowActivityAttribute [AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = false)] public sealed class AlternateFlowActivityAttribute : Attribute { } #endregion #region Class SupportsTransactionAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] internal sealed class SupportsTransactionAttribute : Attribute { } #endregion #region Class SupportsSynchronizationAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] internal sealed class SupportsSynchronizationAttribute : Attribute { } #endregion #region Class PersistOnCloseAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] public sealed class PersistOnCloseAttribute : Attribute { } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeConverters.cs
- Cell.cs
- SubMenuStyleCollection.cs
- EnumValidator.cs
- ComplexType.cs
- Int64.cs
- MediaContext.cs
- EntityProviderServices.cs
- SqlClientWrapperSmiStream.cs
- SettingsPropertyNotFoundException.cs
- GlobalizationSection.cs
- RegexCode.cs
- PropertiesTab.cs
- TypeConverterAttribute.cs
- MarkedHighlightComponent.cs
- UnsafeNativeMethods.cs
- ServiceDebugElement.cs
- Decimal.cs
- CryptoApi.cs
- GACMembershipCondition.cs
- ContextStaticAttribute.cs
- TcpTransportSecurity.cs
- XmlSchemaCollection.cs
- LoginViewDesigner.cs
- _BufferOffsetSize.cs
- NotificationContext.cs
- TransformPatternIdentifiers.cs
- Point4D.cs
- ArrangedElement.cs
- ServicesSection.cs
- SubpageParagraph.cs
- _UriSyntax.cs
- VerificationAttribute.cs
- input.cs
- ICspAsymmetricAlgorithm.cs
- ResourceWriter.cs
- RNGCryptoServiceProvider.cs
- OperationCanceledException.cs
- EntryPointNotFoundException.cs
- QueryActivatableWorkflowsCommand.cs
- ExtensionSurface.cs
- MatrixTransform.cs
- HwndKeyboardInputProvider.cs
- Constants.cs
- ContentPresenter.cs
- ErasingStroke.cs
- NameValueSectionHandler.cs
- WebPartEditorCancelVerb.cs
- CategoryGridEntry.cs
- QueryableDataSourceView.cs
- RuntimeArgumentHandle.cs
- SQLGuid.cs
- WebPartConnection.cs
- SynchronizationLockException.cs
- NativeMethods.cs
- WindowsNonControl.cs
- Oid.cs
- ContextBase.cs
- ProxyAttribute.cs
- StreamGeometry.cs
- WeakReferenceEnumerator.cs
- SQLConvert.cs
- ToolboxCategoryItems.cs
- Message.cs
- DataReceivedEventArgs.cs
- XsltQilFactory.cs
- ProfilePropertyMetadata.cs
- WebServiceMethodData.cs
- RightsManagementEncryptedStream.cs
- XmlNodeList.cs
- M3DUtil.cs
- AlternateViewCollection.cs
- ActivationServices.cs
- ReadOnlyNameValueCollection.cs
- CallbackWrapper.cs
- URLAttribute.cs
- SapiGrammar.cs
- RepeaterItem.cs
- ReachDocumentPageSerializer.cs
- RelationshipConverter.cs
- UniqueCodeIdentifierScope.cs
- UnionExpr.cs
- PreviewControlDesigner.cs
- basecomparevalidator.cs
- HwndSource.cs
- DbConnectionPoolCounters.cs
- Debug.cs
- IdentityNotMappedException.cs
- DelegatingConfigHost.cs
- BrowserCapabilitiesFactoryBase.cs
- RepeatInfo.cs
- ClientRoleProvider.cs
- ProfileInfo.cs
- FixedDocumentPaginator.cs
- RpcAsyncResult.cs
- DesignerLoader.cs
- DLinqTableProvider.cs
- _NetRes.cs
- XPathExpr.cs
- TextBoxView.cs