public bool MoveNext()
        {
            if (m_rifReader.EOS)
            {
                return(false);
            }
            m_currentNode = null;
            IPersistable persistable = m_rifReader.ReadRIFObject();

            switch (persistable.GetObjectType())
            {
            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapBeginContainer:
            {
                bool result = MoveNext();
                m_level++;
                return(result);
            }

            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapEndContainer:
                m_level--;
                return(MoveNext());

            case Microsoft.ReportingServices.ReportIntermediateFormat.Persistence.ObjectType.DocumentMapNode:
            {
                DocumentMapNode documentMapNode = (DocumentMapNode)persistable;
                m_currentNode = new Microsoft.ReportingServices.OnDemandReportRendering.DocumentMapNode(documentMapNode.Label, documentMapNode.Id, m_level);
                return(true);
            }

            default:
                Global.Tracer.Assert(condition: false);
                return(false);
            }
        }
 private static List <Declaration> GetDocumentMapDeclarations()
 {
     return(new List <Declaration>(3)
     {
         DocumentMapNode.GetDeclaration(),
         DocumentMapBeginContainer.GetDeclaration(),
         DocumentMapEndContainer.GetDeclaration()
     });
 }
 public void WriteNode(string aLabel, string aId)
 {
     Global.Tracer.Assert(!m_isClosed, "(!m_isClosed)");
     if (m_node == null)
     {
         m_node = new DocumentMapNode();
     }
     m_node.Label = aLabel;
     m_node.Id    = aId;
     m_writer.Write(m_node);
 }