Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Runtime / BookmarkCallbackWrapper.cs / 1305376 / BookmarkCallbackWrapper.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities.Runtime
{
using System;
using System.Runtime;
using System.Runtime.Serialization;
using System.Security;
[DataContract]
class BookmarkCallbackWrapper : CallbackWrapper
{
static Type bookmarkCallbackType = typeof(BookmarkCallback);
static Type[] bookmarkCallbackParameters = new Type[] { typeof(NativeActivityContext), typeof(Bookmark), typeof(object) };
public BookmarkCallbackWrapper(BookmarkCallback callback, ActivityInstance owningInstance)
: this(callback, owningInstance, BookmarkOptions.None)
{
}
public BookmarkCallbackWrapper(BookmarkCallback callback, ActivityInstance owningInstance, BookmarkOptions bookmarkOptions)
: base(callback, owningInstance)
{
Fx.Assert(callback != null || bookmarkOptions == BookmarkOptions.None, "Either we have a callback or we only allow SingleFire, Blocking bookmarks.");
this.Options = bookmarkOptions;
}
[DataMember(EmitDefaultValue = false)]
public BookmarkOptions Options
{
get;
private set;
}
[DataMember(EmitDefaultValue = false)]
public Bookmark Bookmark
{
get;
set;
}
public void Invoke(NativeActivityContext context, Bookmark bookmark, object value)
{
EnsureCallback(bookmarkCallbackType, bookmarkCallbackParameters);
BookmarkCallback bookmarkCallback = (BookmarkCallback)this.Callback;
bookmarkCallback(context, bookmark, value);
}
public ActivityExecutionWorkItem CreateWorkItem(ActivityExecutor executor, bool isExternal, Bookmark bookmark, object value)
{
if (this.IsCallbackNull)
{
return executor.CreateEmptyWorkItem(this.ActivityInstance);
}
else
{
return new BookmarkWorkItem(executor, isExternal, this, bookmark, value);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LineBreakRecord.cs
- ItemsControl.cs
- RunClient.cs
- ScrollEventArgs.cs
- DefaultMemberAttribute.cs
- MemoryMappedViewStream.cs
- FileStream.cs
- AttributeUsageAttribute.cs
- PathSegment.cs
- MultiPropertyDescriptorGridEntry.cs
- QilGeneratorEnv.cs
- NTAccount.cs
- LineBreak.cs
- LongValidatorAttribute.cs
- XmlSignificantWhitespace.cs
- ToolStripItemCollection.cs
- GcHandle.cs
- JsonXmlDataContract.cs
- Token.cs
- XmlSchemaComplexContentExtension.cs
- DataGridItemAutomationPeer.cs
- BezierSegment.cs
- XmlParserContext.cs
- TargetControlTypeAttribute.cs
- ListCollectionView.cs
- EnumBuilder.cs
- ExpressionNode.cs
- PrintPreviewDialog.cs
- ImageIndexConverter.cs
- AutoResetEvent.cs
- Point3D.cs
- WorkingDirectoryEditor.cs
- BinaryFormatterWriter.cs
- Convert.cs
- Nullable.cs
- EdmSchemaError.cs
- TrackingProfileSerializer.cs
- ProfileInfo.cs
- Odbc32.cs
- GlyphInfoList.cs
- ICspAsymmetricAlgorithm.cs
- MSHTMLHost.cs
- Blend.cs
- DateTimeValueSerializer.cs
- UnsafeNativeMethods.cs
- MonthCalendar.cs
- RuleElement.cs
- __FastResourceComparer.cs
- SoapProtocolReflector.cs
- TextTreeNode.cs
- EndpointInstanceProvider.cs
- ComponentSerializationService.cs
- Misc.cs
- TreeView.cs
- ColorMap.cs
- EntityCodeGenerator.cs
- BatchServiceHost.cs
- ContentElementAutomationPeer.cs
- SqlAliasesReferenced.cs
- _SecureChannel.cs
- BamlVersionHeader.cs
- RelationshipEnd.cs
- ToolStripCodeDomSerializer.cs
- IndexedGlyphRun.cs
- UpdateProgress.cs
- NotifyIcon.cs
- Connector.xaml.cs
- SystemResources.cs
- WasHostedComPlusFactory.cs
- SchemaInfo.cs
- WindowsListView.cs
- MaskDescriptor.cs
- SqlDataSourceCache.cs
- ProvidersHelper.cs
- DbConnectionPoolGroup.cs
- ExpandoObject.cs
- TextOnlyOutput.cs
- TextEvent.cs
- InputMethod.cs
- DesigntimeLicenseContext.cs
- MemberPath.cs
- CriticalExceptions.cs
- SerializationTrace.cs
- AsymmetricCryptoHandle.cs
- WindowsTitleBar.cs
- ObjectKeyFrameCollection.cs
- CanonicalXml.cs
- TextCollapsingProperties.cs
- ParentUndoUnit.cs
- SchemaMapping.cs
- __FastResourceComparer.cs
- SessionEndingEventArgs.cs
- ReadOnlyMetadataCollection.cs
- HtmlTableCell.cs
- ThreadNeutralSemaphore.cs
- CompilationPass2Task.cs
- CopyOfAction.cs
- EntityDataSourceViewSchema.cs
- UITypeEditor.cs
- TypeUnloadedException.cs