public override void Deserialize(IntermediateFormatReader reader)
        {
            base.Deserialize(reader);
            reader.RegisterDeclaration(Image.m_Declaration);
            while (reader.NextMember())
            {
                switch (reader.CurrentMember.MemberName)
                {
                case MemberName.Source:
                    this.m_source = (AspNetCore.ReportingServices.OnDemandReportRendering.Image.SourceType)reader.ReadEnum();
                    break;

                case MemberName.Value:
                    this.m_value = (ExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.MIMEType:
                    this.m_MIMEType = (ExpressionInfo)reader.ReadRIFObject();
                    break;

                case MemberName.Sizing:
                    this.m_sizing = (AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings)reader.ReadEnum();
                    break;

                case MemberName.Action:
                    this.m_action = (Action)reader.ReadRIFObject();
                    break;

                case MemberName.Tag:
                {
                    ExpressionInfo expressionInfo = (ExpressionInfo)reader.ReadRIFObject();
                    if (expressionInfo != null)
                    {
                        this.m_tags = new List <ExpressionInfo>(1)
                        {
                            expressionInfo
                        };
                    }
                    break;
                }

                case MemberName.Tags:
                    this.m_tags = reader.ReadGenericListOfRIFObjects <ExpressionInfo>();
                    break;

                case MemberName.EmbeddingMode:
                    this.m_embeddingMode = (AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes)reader.ReadEnum();
                    break;

                default:
                    Global.Tracer.Assert(false);
                    break;
                }
            }
        }
 public override bool TryGetEmbeddedImage(string value, AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes embeddingMode, OnDemandProcessingContext odpContext, out byte[] imageData, out string mimeType, out string streamName)
 {
     if (embeddingMode == AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes.Package)
     {
         imageData  = null;
         mimeType   = null;
         streamName = null;
         return(true);
     }
     Global.Tracer.Assert(false, "Embedded Images are not supported in Streaming ODP mode.");
     throw new InvalidOperationException("Embedded Images are not supported in Streaming ODP mode.");
 }
        public override bool TryGetEmbeddedImage(string value, AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes embeddingMode, OnDemandProcessingContext odpContext, out byte[] imageData, out string mimeType, out string streamName)
        {
            Global.Tracer.Assert(embeddingMode == AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes.Inline, "Invalid image embedding mode");
            AspNetCore.ReportingServices.ReportIntermediateFormat.ImageInfo imageInfo = null;
            Dictionary <string, AspNetCore.ReportingServices.ReportIntermediateFormat.ImageInfo> embeddedImages = odpContext.EmbeddedImages;

            if (embeddedImages != null && embeddedImages.TryGetValue(value, out imageInfo))
            {
                imageData  = imageInfo.GetCachedImageData();
                streamName = imageInfo.StreamName;
                mimeType   = imageInfo.MimeType;
                return(true);
            }
            imageData  = null;
            mimeType   = null;
            streamName = null;
            return(false);
        }
Exemple #4
0
 public abstract bool TryGetEmbeddedImage(string value, AspNetCore.ReportingServices.OnDemandReportRendering.Image.EmbeddingModes embeddingMode, OnDemandProcessingContext odpContext, out byte[] imageData, out string mimeType, out string streamName);