internal void RequestSharedDataUpdate(ClipboardData requestedValue, int selectionId, IRequestStatus requestStatus)
{
object selectionObject = null;
WritableSharedData sharedData = null;
if ((this.SelectionData.SelectionCardinality == SelectionCardinality.None) || (selectionId != this.SelectionData.Id))
{
AuxiliarySelectionData data2 = this.ClipboardSelectionDatas[selectionId];
if (data2 == null)
{
data2 = this.SnapIn.SheetManager.ActiveViewPropertySheetSelectionDatas[selectionId];
}
if (data2 == null)
{
TraceSources.ExecutiveSource.TraceEvent(TraceEventType.Warning, 12, "Request for updating data format {0} in view {1} selection id {2} could not be handled.", new object[] { requestedValue.ClipboardFormatId, this._viewInstanceId, selectionId });
return;
}
sharedData = data2.SharedData;
selectionObject = data2.SelectionObject;
}
else
{
sharedData = this.SelectionData.SharedData;
selectionObject = this.SelectionData.SelectionObject;
}
WritableSharedDataItem item = sharedData.GetItem(requestedValue.ClipboardFormatId);
if (item == null)
{
TraceSources.ExecutiveSource.TraceEvent(TraceEventType.Warning, 12, "The requested data format {0} is no longer available on the current selection in view {1}.", new object[] { requestedValue.ClipboardFormatId, this._viewInstanceId });
}
else
{
this.OnSharedDataChangeRequested(selectionObject, item, requestedValue.GetValue(), new AsyncStatus(requestStatus));
}
}