コード例 #1
0
        protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters)
        {
            CISource source = aParameters.Container.Source;

            // File type
            string fileType = source.ImplementorName;

            aParameters.Writer.WriteElementString(Constants.SourceInfo_FileType, fileType);

            // Version
            CXmlVersionExtended version = new CXmlVersionExtended(source.ImplementorVersion);

            version.XmlSerialize(aParameters);

            // Source file (master file)
            string masterFileName = source.MasterFileName;

            aParameters.Writer.WriteElementString(Constants.SourceInfo_MasterFile, masterFileName);

            // Line number (if relevant)
            if (source.IsLineNumberAvailable)
            {
                aParameters.Writer.WriteElementString(Constants.SourceInfo_LineNumber, source.LineNumber.ToString());
            }
        }
コード例 #2
0
        public static CIContainer NewErrorContainer(CIEngine aEngine, CISource aSource)
        {
            CIContainer ret = new CIContainer(aEngine, aSource);

            ret.Status = TStatus.EStatusErrorContainer;
            return(ret);
        }
コード例 #3
0
        internal void AddFileNames(CIContainer aContainer, string aArchivedFileName)

        {
            iBinFilename = aArchivedFileName;

            CISource source = aContainer.Source;
            string   binFileOriginalName = source.MasterFileName;

            foreach (string filename in aContainer.FileNames)
            {
                if (filename != binFileOriginalName) //Since bin file name is stored separately, remove it from this list
                {
                    iSymbolFiles.Add(filename);
                }
            }
        }
コード例 #4
0
        private CIContainer(CIEngine aEngine, CISource aSource)
            : base(KRootElementId)
        {
            iEngine = aEngine;

            // Immediately set up container association (to point to ourself)
            // just incase...
            base.Container = this;

            // And indicate, that since we *are* the container, we want all our children
            // to automatically be "in it" too.
            base.IsInContainer = true;

            // Add source descriptor
            CISourceElement source = new CISourceElement(this, aSource);

            AddChild(source);

            // Add other mandatory elements
            AddMandatoryElements();
        }
コード例 #5
0
        internal static CIContainer New(CIEngine aEngine, CISource aSource)
        {
            CIContainer ret = new CIContainer(aEngine, aSource);

            return(ret);
        }