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
- WindowsGrip.cs
- RtfToXamlReader.cs
- GlyphRun.cs
- ToolbarAUtomationPeer.cs
- Dictionary.cs
- LifetimeServices.cs
- PreloadedPackages.cs
- ArithmeticException.cs
- NullableIntSumAggregationOperator.cs
- XamlReader.cs
- path.cs
- ComponentGlyph.cs
- SqlRewriteScalarSubqueries.cs
- Int32Rect.cs
- MSHTMLHost.cs
- DescendantBaseQuery.cs
- HtmlElement.cs
- AccessedThroughPropertyAttribute.cs
- Translator.cs
- CircleHotSpot.cs
- ToolboxItem.cs
- PrinterUnitConvert.cs
- ThreadSafeList.cs
- Literal.cs
- TransactedBatchingElement.cs
- HeaderElement.cs
- StructuredCompositeActivityDesigner.cs
- PasswordBoxAutomationPeer.cs
- NativeBuffer.cs
- TokenizerHelper.cs
- COAUTHINFO.cs
- BitmapImage.cs
- SQLMoneyStorage.cs
- WindowsSolidBrush.cs
- QueryCacheKey.cs
- LayoutEvent.cs
- basemetadatamappingvisitor.cs
- UpdateManifestForBrowserApplication.cs
- EdmEntityTypeAttribute.cs
- PartialTrustValidationBehavior.cs
- EmptyControlCollection.cs
- EventDescriptor.cs
- PrincipalPermissionMode.cs
- IsolatedStorageException.cs
- XhtmlBasicCommandAdapter.cs
- Brush.cs
- MDIControlStrip.cs
- TextAutomationPeer.cs
- StylusCaptureWithinProperty.cs
- KeyValueSerializer.cs
- Rss20ItemFormatter.cs
- NameValuePermission.cs
- SqlDataSourceCommandParser.cs
- DockPattern.cs
- CodeDirectoryCompiler.cs
- DtdParser.cs
- DataServiceProviderMethods.cs
- UnhandledExceptionEventArgs.cs
- Itemizer.cs
- SHA384.cs
- WindowsListViewItemStartMenu.cs
- BindingOperations.cs
- ArrayWithOffset.cs
- IApplicationTrustManager.cs
- HorizontalAlignConverter.cs
- OracleSqlParser.cs
- ModuleConfigurationInfo.cs
- SecurityState.cs
- WebPartManagerInternals.cs
- FieldCollectionEditor.cs
- AnonymousIdentificationSection.cs
- Expression.DebuggerProxy.cs
- Profiler.cs
- PersistenceTypeAttribute.cs
- AppDomain.cs
- XmlElement.cs
- SetState.cs
- Variant.cs
- MethodInfo.cs
- Transform3D.cs
- TableLayoutSettings.cs
- TemplateParser.cs
- Registry.cs
- DecoderReplacementFallback.cs
- TemplateBindingExtension.cs
- TemplateControl.cs
- DataGridState.cs
- PageOutputColor.cs
- IncrementalReadDecoders.cs
- ViewPort3D.cs
- QueryMatcher.cs
- XmlWriterTraceListener.cs
- Formatter.cs
- PerformanceCounters.cs
- FieldToken.cs
- XmlEntityReference.cs
- TypedDataSourceCodeGenerator.cs
- SqlClientWrapperSmiStream.cs
- SliderAutomationPeer.cs
- ListViewItem.cs