// Token: 0x06001CB9 RID: 7353 RVA: 0x000A52D8 File Offset: 0x000A34D8
        private void OnCreateWorkerDelegate(IComWorker <ITranscoder> worker, object requestParameters)
        {
            ITranscoder worker2 = worker.Worker;

            if (worker2 == null)
            {
                OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingWorkerInitializationFailed, string.Empty, new object[]
                {
                    string.Empty
                });
                throw new TranscodingFatalFaultException("TranscodingTaskManager failed to get ITranscoder interface", null, this);
            }
            TranscodingInitOption initOption = default(TranscodingInitOption);

            initOption.MaxOutputSize         = this.maxOutputSize;
            initOption.RowNumberPerExcelPage = this.rowNumberInExcel;
            initOption.HtmlOutputFormat      = this.htmlFormat;
            initOption.IsImageMode           = this.isImageMode;
            TranscodeErrorCode transcodeErrorCode = TranscodeErrorCode.Succeeded;

            try
            {
                transcodeErrorCode = worker2.Initialize(initOption);
            }
            catch (NullReferenceException innerException)
            {
                throw new TranscodingFatalFaultException("Worker has been terminated by some reason", innerException, this);
            }
            catch (COMException ex)
            {
                ExTraceGlobals.TranscodingTracer.TraceDebug((long)this.GetHashCode(), "Work object initialize failed!");
                OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingWorkerInitializationFailed, string.Empty, new object[]
                {
                    ex.Message
                });
                throw new TranscodingFatalFaultException("TranscodingTaskManager call ITranscoder.Initialize() failed!", ex, this);
            }
            if (transcodeErrorCode != TranscodeErrorCode.Succeeded)
            {
                OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingWorkerInitializationFailed, string.Empty, new object[]
                {
                    string.Empty
                });
                throw new TranscodingFatalFaultException(string.Format("Initializalize Transcoding service failed with error code : {0}.", transcodeErrorCode), null, this);
            }
        }
        // Token: 0x06001CC1 RID: 7361 RVA: 0x000A5BEC File Offset: 0x000A3DEC
        private void HandleTranscoderErrorCode(TranscodeErrorCode?error)
        {
            TranscodeErrorCode valueOrDefault = error.GetValueOrDefault();

            if (error != null)
            {
                switch (valueOrDefault)
                {
                case TranscodeErrorCode.FatalFaultError:
                    throw new TranscodingFatalFaultException("Fatal fault returns from transcoding service", null, this);

                case TranscodeErrorCode.UnconvertibleError:
                    throw new TranscodingUnconvertibleFileException("Transcoding service returns unconvertible error.", null, this);

                case TranscodeErrorCode.WrongFileTypeError:
                    throw new TranscodingErrorFileException("Wrong input document type", null, this);

                case TranscodeErrorCode.InvalidPageNumberError:
                    throw new TranscodingUnconvertibleFileException("Invalid page number", null, this);
                }
            }
            throw new TranscodingUnconvertibleFileException("Transcoding service returns unknown value.", null, this);
        }