Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.Server_Demand_Active_Pdu.Clone C# (CSharp) Method

Clone() public method

Create an instance of the class that is identical to the current PDU.
public Clone ( ) : StackPacket
return StackPacket
        public override StackPacket Clone()
        {
            Server_Demand_Active_Pdu cloneServerDemandActivePdu = new Server_Demand_Active_Pdu(serverSessionContext);
            cloneServerDemandActivePdu.commonHeader = commonHeader.Clone();

            if (demandActivePduData != null)
            {
                cloneServerDemandActivePdu.demandActivePduData = new TS_DEMAND_ACTIVE_PDU();
                cloneServerDemandActivePdu.demandActivePduData.shareControlHeader =
                    demandActivePduData.shareControlHeader;
                cloneServerDemandActivePdu.demandActivePduData.shareId = demandActivePduData.shareId;
                cloneServerDemandActivePdu.demandActivePduData.lengthCombinedCapabilities =
                    demandActivePduData.lengthCombinedCapabilities;
                cloneServerDemandActivePdu.demandActivePduData.lengthSourceDescriptor =
                    demandActivePduData.lengthSourceDescriptor;
                cloneServerDemandActivePdu.demandActivePduData.sourceDescriptor =
                    RdpbcgrUtility.CloneByteArray(demandActivePduData.sourceDescriptor);
                cloneServerDemandActivePdu.demandActivePduData.numberCapabilities =
                    demandActivePduData.numberCapabilities;
                cloneServerDemandActivePdu.demandActivePduData.pad2Octets = demandActivePduData.pad2Octets;
                cloneServerDemandActivePdu.demandActivePduData.sessionId = demandActivePduData.sessionId;

                if (demandActivePduData.capabilitySets != null)
                {
                    cloneServerDemandActivePdu.demandActivePduData.capabilitySets = new Collection<ITsCapsSet>();
                    for (int i = 0; i < demandActivePduData.capabilitySets.Count; ++i)
                    {
                        cloneServerDemandActivePdu.demandActivePduData.capabilitySets.Add(
                            RdpbcgrUtility.CloneCapabilitySet(demandActivePduData.capabilitySets[i]));
                    }

                }
            }

            return cloneServerDemandActivePdu;
        }