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 void Write(IPersistable persistableObj, bool verify) { if (persistableObj != null) { m_writer.Write(persistableObj.GetObjectType()); persistableObj.Serialize(this); } else { m_writer.WriteNull(); } }