/// <summary> /// Constructor /// </summary> /// <param name="context"></param> public Rdpbcgr_DVCClientTransport(RdpbcgrClientContext context) { this.context = context; if (context.SVCManager == null) { throw new NotSupportedException("Cannot get SVC from RDPBCGR connection for RDPEDYC, this transport must be created after RDPBCGR connection established."); } channel = context.SVCManager.GetChannelByName(StaticVirtualChannelName.RDPEDYC); if (channel == null) { throw new NotSupportedException("Cannot get SVC from RDPBCGR connection for RDPEDYC, the static virtual channel is not created."); } channel.Received += ReceivedBytes; if (!context.SVCManager.IsRunning) { // Must start the SVC manager here, so as to make sure the first packet of RDPEDYC can be processed context.SVCManager.Start(); } decoder = new ClientDecodingPduBuilder(); pduBuilder = new PduBuilder(); }
/// <summary> /// RDPBCGR Decoder Constructor /// </summary> /// <param name="rdpbcgrClient">client</param> /// <param name="rdpbcgrClientContext">client context</param> public RdpbcgrDecoder(RdpbcgrClient rdpbcgrClient, RdpbcgrClientContext rdpbcgrClientContext) { // initialize client client = rdpbcgrClient; // initialize client context clientContext = rdpbcgrClientContext; }
/// <summary> /// Construcotr /// </summary> /// <param name="clientSessionContext"></param> /// <param name="transportType"></param> public Rdpemt_DVCClientTransport(RdpbcgrClientContext clientSessionContext, DynamicVC_TransportType transportType) { this.clientSessionContext = clientSessionContext; this.transportProtocol = Multitransport_Protocol_value.INITITATE_REQUEST_PROTOCOL_UDPFECR; if (transportType == DynamicVC_TransportType.RDP_UDP_Lossy) { this.transportProtocol = Multitransport_Protocol_value.INITITATE_REQUEST_PROTOCOL_UDPFECL; } EstablishTransportConnection(); decoder = new ClientDecodingPduBuilder(); pduBuilder = new PduBuilder(); }
/// <summary> /// Constructor /// </summary> /// <param name="client"></param> /// <param name="context"></param> /// <param name="autoCreateChannel"></param> /// <param name="callBackMethodsDic"></param> public RdpedycClient(RdpbcgrClient client, RdpbcgrClientContext context, bool autoCreateChannel = true, Dictionary<string, ReceiveData> callBackMethodsDic = null) { this.rdpbcgrClient = client; this.clientSessionContext = context; transportDic = new Dictionary<DynamicVC_TransportType, IDVCTransport>(); unprocessedDVCPacketBuffer = new List<UnprocessedDVCPDUInfo>(); Rdpbcgr_DVCClientTransport transport = new Rdpbcgr_DVCClientTransport(context); channelDicbyId = new Dictionary<uint, DynamicVirtualChannel>(); this.autoCreateChannel = autoCreateChannel; this.callBackMethodsDic = callBackMethodsDic; pduBuilder = new PduBuilder(); transport.Received += ProcessPacketFromTCP; transportDic.Add(DynamicVC_TransportType.RDP_TCP, transport); }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Shutdown_Request_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Security_Exchange_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Confirm_Active_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public TS_INPUT_PDU(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> protected RdpbcgrClientPdu(RdpbcgrClientContext clientContext) { context = clientContext; }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_X_224_Connection_Request_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_MCS_Attach_User_Request(RdpbcgrClientContext clientContext) : base(clientContext) { }
public Client_Initiate_Multitransport_Response_PDU(RdpbcgrClientContext context) : base(context) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Info_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Font_List_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Control_Pdu_Request_Control(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Control_Pdu_Cooperate(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Suppress_Output_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Synchronize_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_MCS_Channel_Join_Request(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="serverSessionContext">Specify the session context.</param> public MCS_Disconnect_Provider_Ultimatum_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_MCS_Connect_Initial_Pdu_with_GCC_Conference_Create_Request(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public RdpelePdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_MCS_Erect_Domain_Request(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Virtual_Channel_RAW_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Refresh_Rect_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
/// <summary> /// The constructor of the class. /// </summary> /// <param name="clientContext">Specify the context.</param> public Client_Persistent_Key_List_Pdu(RdpbcgrClientContext clientContext) : base(clientContext) { }
public Client_Auto_Detect_Response_PDU(RdpbcgrClientContext clientContext) : base(clientContext) { }