internal void GetSharedData(ReadSharedDataNodeRequestInfo requestInfo, IRequestStatus requestStatus) { WritableSharedDataItem item = this.SharedData.GetItem(requestInfo.RequestedClipboardFormatId); if (item != null) { SyncStatus status = new SyncStatus(requestStatus); byte[] buffer = this.OnGetSharedData(item, status); ClipboardData data = new ClipboardData(); data.ClipboardFormatId = item.ClipboardFormatId; data.SetValue(buffer); ReadSharedDataResponse response = new ReadSharedDataResponse(); response.RequestedClipboardData = data; requestStatus.ProcessResponse(response); } }
internal void GetSharedData(string clipboardFormatId, int selectionId, IRequestStatus requestStatus) { WritableSharedData sharedData = null; object selectionObject = 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 getting data format {0} in view {1} selection id {2} could not be handled.", new object[] { clipboardFormatId, this._viewInstanceId, selectionId }); return; } sharedData = data2.SharedData; selectionObject = data2.SelectionObject; } else { sharedData = this.SelectionData.SharedData; selectionObject = this.SelectionData.SelectionObject; } WritableSharedDataItem item = sharedData.GetItem(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[] { clipboardFormatId, this._viewInstanceId }); } else { SyncStatus status = new SyncStatus(requestStatus); byte[] buffer = this.OnGetSharedData(selectionObject, item, status); ClipboardData data3 = new ClipboardData(); data3.ClipboardFormatId = item.ClipboardFormatId; data3.SetValue(buffer); ReadSharedDataResponse response = new ReadSharedDataResponse(); response.RequestedClipboardData = data3; requestStatus.ProcessResponse(response); } }