コード例 #1
0
 /// <summary>
 /// Write the makefile to the given archive
 /// </summary>
 /// <param name="Writer">The archive to write to</param>
 public void Write(BinaryArchiveWriter Writer)
 {
     Writer.WriteLong(CreateTimeUtc.Ticks);
     Writer.WriteString(ToolchainInfo);
     Writer.WriteString(ExternalMetadata);
     Writer.WriteFileReference(ReceiptFile);
     Writer.WriteDirectoryReference(ProjectIntermediateDirectory);
     Writer.WriteInt((int)TargetType);
     Writer.WriteBool(bDeployAfterCompile);
     Writer.WriteBool(bHasProjectScriptPlugin);
     Writer.WriteArray(AdditionalArguments, Item => Writer.WriteString(Item));
     Writer.WriteArray(PreBuildScripts, Item => Writer.WriteFileReference(Item));
     Writer.WriteList(Actions, Action => Action.Write(Writer));
     Writer.WriteList(EnvironmentVariables, x => { Writer.WriteString(x.Item1); Writer.WriteString(x.Item2); });
     Writer.WriteList(OutputItems, Item => Writer.WriteFileItem(Item));
     Writer.WriteDictionary(ModuleNameToOutputItems, k => Writer.WriteString(k), v => Writer.WriteArray(v, e => Writer.WriteFileItem(e)));
     Writer.WriteHashSet(HotReloadModuleNames, x => Writer.WriteString(x));
     Writer.WriteDictionary(DirectoryToSourceFiles, k => Writer.WriteDirectoryItem(k), v => Writer.WriteArray(v, e => Writer.WriteFileItem(e)));
     Writer.WriteHashSet(WorkingSet, x => Writer.WriteFileItem(x));
     Writer.WriteHashSet(CandidatesForWorkingSet, x => Writer.WriteFileItem(x));
     Writer.WriteList(UObjectModules, e => e.Write(Writer));
     Writer.WriteList(UObjectModuleHeaders, x => x.Write(Writer));
     Writer.WriteHashSet(PluginFiles, x => Writer.WriteFileItem(x));
     Writer.WriteHashSet(AdditionalDependencies, x => Writer.WriteFileItem(x));
 }
コード例 #2
0
        /// <summary>
        /// Writes data for this dependency cache to disk
        /// </summary>
        private void Write()
        {
            DirectoryReference.CreateDirectory(Location.Directory);
            using (FileStream Stream = File.Open(Location.FullName, FileMode.Create, FileAccess.Write, FileShare.Read))
            {
                using (BinaryArchiveWriter Writer = new BinaryArchiveWriter(Stream))
                {
                    Writer.WriteInt(CurrentVersion);

                    Writer.WriteInt(FileToIncludeInfo.Count);
                    foreach (KeyValuePair <FileItem, IncludeInfo> Pair in FileToIncludeInfo)
                    {
                        Writer.WriteCompactFileItem(Pair.Key);
                        Writer.WriteLong(Pair.Value.LastWriteTimeUtc);
                        Writer.WriteString(Pair.Value.IncludeText);
                    }

                    Writer.WriteInt(FileToReflectionInfo.Count);
                    foreach (KeyValuePair <FileItem, ReflectionInfo> Pair in FileToReflectionInfo)
                    {
                        Writer.WriteCompactFileItem(Pair.Key);
                        Writer.WriteLong(Pair.Value.LastWriteTimeUtc);
                        Writer.WriteBool(Pair.Value.bContainsMarkup);
                    }
                }
            }
            bModified = false;
        }
コード例 #3
0
 /// <summary>
 /// Writes the content of this data to a stream archive.
 /// </summary>
 protected override bool Write(BinaryArchiveWriter archive)
 {
     archive.Write3dmChunkVersion(1, 0);
     archive.WritePlane(Plane);
     archive.WriteGuid(ViewportId);
     archive.WriteBool(Enabled);
     return(!archive.WriteErrorOccured);
 }
コード例 #4
0
 /// <summary>
 /// ISerializable: Called when serialized to report additional properties that should be saved
 /// </summary>
 public void Write(BinaryArchiveWriter Writer)
 {
     Writer.WriteByte((byte)ActionType);
     Writer.WriteDirectoryReference(WorkingDirectory);
     Writer.WriteBool(bPrintDebugInfo);
     Writer.WriteFileReference(CommandPath);
     Writer.WriteString(CommandArguments);
     Writer.WriteString(CommandDescription);
     Writer.WriteString(StatusDescription);
     Writer.WriteBool(bCanExecuteRemotely);
     Writer.WriteBool(bCanExecuteRemotelyWithSNDBS);
     Writer.WriteBool(bIsGCCCompiler);
     Writer.WriteBool(bIsUsingPCH);
     Writer.WriteBool(bShouldOutputStatusDescription);
     Writer.WriteBool(bProducesImportLibrary);
     Writer.WriteList(PrerequisiteItems, Item => Writer.WriteFileItem(Item));
     Writer.WriteList(ProducedItems, Item => Writer.WriteFileItem(Item));
     Writer.WriteList(DeleteItems, Item => Writer.WriteFileItem(Item));
     Writer.WriteFileItem(DependencyListFile);
 }