IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            MrsTracer.Provider.Function("MapiDestinationFolder.GetFxProxy", new object[0]);
            IFxProxy result;

            using (base.Mailbox.RHTracker.Start())
            {
                IMapiFxProxy fxProxyCollector = base.Folder.GetFxProxyCollector();
                IFxProxy     proxy            = new FxProxyBudgetWrapper(fxProxyCollector, true, new Func <IDisposable>(base.Mailbox.RHTracker.Start), new Action <uint>(base.Mailbox.RHTracker.Charge));
                IFxProxy     fxProxy          = new FxProxyWrapper(proxy, null);
                result = fxProxy;
            }
            return(result);
        }
Пример #2
0
        IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            IFxProxy result = null;

            base.CreateContext("IDestinationFolder.GetFxProxy", new DataContext[0]).Execute(delegate
            {
                result = ((IDestinationFolder)this.WrappedObject).GetFxProxy(flags);
            }, true);
            if (result == null)
            {
                return(null);
            }
            return(new FxProxyWrapper(result, base.CreateContext));
        }
        IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            MrsTracer.Provider.Function("StorageDestinationFolder.GetFxProxy: {0}", new object[]
            {
                base.DisplayNameForTracing
            });
            IFxProxy result;

            using (base.Mailbox.RHTracker.Start())
            {
                IMapiFxProxy destProxy = flags.HasFlag(FastTransferFlags.PassThrough) ? base.CoreFolder.GetFxProxyCollector() : new StorageFolderProxy(this, base.Mailbox.Flags.HasFlag(LocalMailboxFlags.Move));
                IFxProxy     proxy     = new FxProxyBudgetWrapper(destProxy, true, new Func <IDisposable>(base.Mailbox.RHTracker.Start), new Action <uint>(base.Mailbox.RHTracker.Charge));
                IFxProxy     fxProxy   = new FxProxyWrapper(proxy, null);
                result = fxProxy;
            }
            return(result);
        }
        IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
        {
            byte[] data;
            long   handle;

            if (base.ServerVersion[30])
            {
                handle = base.MrsProxy.IDestinationFolder_GetFxProxy2(base.Handle, (int)flags, out data);
            }
            else
            {
                handle = base.MrsProxy.IDestinationFolder_GetFxProxy(base.Handle, out data);
            }
            IDataMessage            getDataResponseMsg = FxProxyGetObjectDataResponseMessage.Deserialize(DataMessageOpcode.FxProxyGetObjectDataResponse, data, base.MrsProxyClient.UseCompression);
            BufferedTransmitter     destination        = new BufferedTransmitter(new RemoteDataImport(base.MrsProxy, handle, getDataResponseMsg), this.exportBufferSizeKB, true, base.MrsProxyClient.UseBuffering, base.MrsProxyClient.UseCompression);
            AsynchronousTransmitter destination2       = new AsynchronousTransmitter(destination, true);

            return(new FxProxyTransmitter(destination2, true));
        }
Пример #5
0
 IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
 {
     MrsTracer.Provider.Function("PstDestinationFolder.IDestinationFolder.GetFxProxy", new object[0]);
     return(new PSTFxProxy(base.Folder));
 }
Пример #6
0
 IFxProxy IDestinationFolder.GetFxProxy(FastTransferFlags flags)
 {
     throw new NotImplementedException();
 }