Esempio n. 1
0
        /// <summary>
        /// Deserializes
        /// </summary>
        internal static MutablePipState Deserialize(BuildXLReader reader)
        {
            Contract.Requires(reader != null);

            var pipType        = (PipType)reader.ReadByte();
            var semiStableHash = reader.ReadInt64();
            var storeId        = PageableStoreId.Deserialize(reader);

            switch (pipType)
            {
            case PipType.Ipc:
            case PipType.Process:
                return(ProcessMutablePipState.Deserialize(reader, pipType, semiStableHash, storeId));

            case PipType.CopyFile:
                return(CopyMutablePipState.Deserialize(reader, pipType, semiStableHash, storeId));

            case PipType.SealDirectory:
                return(SealDirectoryMutablePipState.Deserialize(reader, pipType, semiStableHash, storeId));

            default:
                return(new MutablePipState(pipType, semiStableHash, storeId));
            }
        }