Rabbit Remote Control 0.1.0-bate8
Loading...
Searching...
No Matches
Classes | Public Slots | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Slots | Private Member Functions | Private Attributes | Friends | List of all members
CBackendFreeRDP Class Reference
Inheritance diagram for CBackendFreeRDP:
Inheritance graph
[legend]
Collaboration diagram for CBackendFreeRDP:
Collaboration graph
[legend]

Classes

struct  ClientContext
 

Public Slots

virtual void slotClipBoardChanged () override
 
- Public Slots inherited from CBackendDesktop
virtual void slotClipBoardChanged ()=0
 Be called when the clip board change.
 
virtual void slotMousePressEvent (QMouseEvent *event, QPoint pos)
 
virtual void slotMouseReleaseEvent (QMouseEvent *event, QPoint pos)
 
virtual void slotMouseMoveEvent (QMouseEvent *event, QPoint pos)
 
virtual void slotWheelEvent (QWheelEvent *event, QPoint pos)
 
virtual void slotKeyPressEvent (QKeyEvent *event)
 
virtual void slotKeyReleaseEvent (QKeyEvent *event)
 
virtual void slotInputMethodEvent (QInputMethodEvent *event)
 

Public Member Functions

 CBackendFreeRDP (COperateFreeRDP *pOperate)
 
- Public Member Functions inherited from CBackendDesktop
 CBackendDesktop (COperateDesktop *pOperate=nullptr)
 
virtual bool event (QEvent *event) override
 
- Public Member Functions inherited from CBackend
 CBackend (COperate *pOperate=nullptr, bool bStopSignal=true)
 CBackend.
 
virtual int Start ()
 Start.
 
virtual int Stop ()
 Stop.
 

Static Public Member Functions

static BOOL cbGlobalInit ()
 
static void cbGlobalUninit ()
 
static BOOL cbClientNew (freerdp *instance, rdpContext *context)
 
static void cbClientFree (freerdp *instance, rdpContext *context)
 
static int cbClientStart (rdpContext *context)
 
static int cbClientStop (rdpContext *context)
 
static BOOL cb_pre_connect (freerdp *instance)
 Callback given to freerdp_connect() to process the pre-connect operations.
 
static BOOL cb_post_connect (freerdp *instance)
 Callback given to freerdp_connect() to perform post-connection operations.
 
static void cb_post_disconnect (freerdp *instance)
 
static int cb_logon_error_info (freerdp *instance, UINT32 data, UINT32 type)
 
static void OnChannelConnectedEventHandler (void *context, ChannelConnectedEventArgs *e)
 
static void OnChannelDisconnectedEventHandler (void *context, ChannelDisconnectedEventArgs *e)
 
static BOOL cb_authenticate (freerdp *instance, char **username, char **password, char **domain)
 
static BOOL cb_GatewayAuthenticate (freerdp *instance, char **username, char **password, char **domain)
 
static int cb_verify_x509_certificate (freerdp *instance, const BYTE *data, size_t length, const char *hostname, UINT16 port, DWORD flags)
 Callback used if user interaction is required to accept a certificate.
 
static DWORD cb_verify_certificate_ex (freerdp *instance, const char *host, UINT16 port, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, DWORD flags)
 Callback set in the rdp_freerdp structure, and used to make a certificate validation when the connection requires it.
 
static DWORD cb_verify_changed_certificate_ex (freerdp *instance, const char *host, UINT16 port, const char *common_name, const char *subject, const char *issuer, const char *fingerprint, const char *old_subject, const char *old_issuer, const char *old_fingerprint, DWORD flags)
 Callback set in the rdp_freerdp structure, and used to make a certificate validation when a stored certificate does not match the remote counterpart.
 
static BOOL cb_present_gateway_message (freerdp *instance, UINT32 type, BOOL isDisplayMandatory, BOOL isConsentMandatory, size_t length, const WCHAR *message)
 
static BOOL cb_begin_paint (rdpContext *context)
 
static BOOL cb_end_paint (rdpContext *context)
 
static BOOL cb_desktop_resize (rdpContext *context)
 
static BOOL cb_play_bell_sound (rdpContext *context, const PLAY_SOUND_UPDATE *play_sound)
 
static BOOL cb_keyboard_set_indicators (rdpContext *context, UINT16 led_flags)
 
static BOOL cb_keyboard_set_ime_status (rdpContext *context, UINT16 imeId, UINT32 imeState, UINT32 imeConvMode)
 
static UINT32 GetImageFormat (QImage::Format format)
 
static const char * GetTitle (freerdp *instance)
 

Protected Member Functions

virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseReleaseEvent (QMouseEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void wheelEvent (QWheelEvent *event) override
 
virtual void keyPressEvent (QKeyEvent *event) override
 
virtual void keyReleaseEvent (QKeyEvent *event) override
 
virtual void InputMethodEvent (QInputMethodEvent *event) override
 
virtual int WakeUp () override
 Wake up Backend thread(background thread)
 

Private Slots

void slotConnectProxyServer (QString szHost, quint16 nPort)
 

Private Member Functions

UINT32 GetImageFormat ()
 
BOOL CreateImage (rdpContext *context)
 
BOOL UpdateBuffer (INT32 x, INT32 y, INT32 w, INT32 h)
 
int RedirectionSound ()
 
int RedirectionMicrophone ()
 
int RedirectionDriver ()
 
int RedirectionPrinter ()
 
int RedirectionSerial ()
 
bool SendMouseEvent (UINT16 flags, QPoint pos, bool isExtended)
 
virtual OnInitReturnValue OnInit () override
 Initialization.
 
virtual int OnClean () override
 Clean.
 
virtual int OnProcess () override
 Specific operation processing of plug-in connection.
 
int OnProcess (int nTimeout)
 Specific operation processing of plug-in connection.
 

Private Attributes

COperateDesktopm_pOperate
 
ClientContextm_pContext
 
CParameterFreeRDPm_pParameter
 
RDP_CLIENT_ENTRY_POINTS m_ClientEntryPoints
 
QImage m_Image
 
CClipboardFreeRDP m_ClipBoard
 
CCursorFreeRDP m_Cursor
 
HANDLE m_writeEvent
 
CSecurityLevel::Levels m_SecurityLevel
 

Friends

class CCursorFreeRDP
 

Additional Inherited Members

- Signals inherited from CBackendDesktop
void sigSetDesktopSize (int width, int height)
 
void sigServerName (const QString &szName)
 
void sigUpdateRect (const QRect &r, const QImage &image)
 Notify the CFrmView update image.
 
void sigUpdateRect (const QImage &image)
 Notify the CFrmView update image.
 
void sigUpdateCursor (const QCursor &cursor)
 
void sigUpdateCursorPosition (const QPoint &pos)
 
void sigUpdateLedState (unsigned int state)
 
void sigSetClipboard (QMimeData *data)
 
- Signals inherited from CBackend
void sigRunning ()
 Emitted when the plugin is successfully started.
 
void sigStop ()
 Notify the user to stop.
 
void sigFinished ()
 Successful stopped signal.
 
void sigError (const int nError, const QString &szError=QString())
 Triggered when an error is generated.
 
void sigInformation (const QString &szInfo)
 Triggering from a background thread displays information in the main thread without blocking the background thread.
 
void sigShowMessageBox (const QString &szTitle, const QString &szMessage, const QMessageBox::Icon &icon=QMessageBox::Information)
 Trigger the display of a message dialog (QMessageBox) in the main thread from a background thread without blocking the background thread.
 
void sigBlockShowMessageBox (const QString &szTitle, const QString &szMessage, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton &nRet, bool &checkBox, QString checkBoxContext=QString())
 Block background threads and display message dialogs in foreground threads (QMessageBox)
 
void sigBlockInputDialog (const QString &szTitle, const QString &szLable, const QString &szMessage, QString &szText)
 Block background threads and display input dialogs in foreground threads (QInputDialog)
 
void sigBlockShowWidget (const QString &className, int &nRet, void *pContext)
 Blocks the background thread and displays the window in the foreground thread.
 
void sigSecurityLevel (CSecurityLevel::Levels level)
 Triggered when the security level changes.
 
- Protected Types inherited from CBackend
enum class  OnInitReturnValue { Fail = -1 , Success = 0 , UseOnProcess = Success , NotUseOnProcess = 1 }
 
- Protected Slots inherited from CBackend
virtual void slotTimeOut ()
 a non-Qt event loop (that is, normal loop processing), It call OnProcess(), and start timer.
 

Detailed Description

Definition at line 25 of file BackendFreeRDP.h.

Constructor & Destructor Documentation

◆ ~CBackendFreeRDP()

CBackendFreeRDP::~CBackendFreeRDP ( )
overridevirtual

Definition at line 88 of file BackendFreeRDP.cpp.

Member Function Documentation

◆ cb_authenticate()

BOOL CBackendFreeRDP::cb_authenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)
static

Definition at line 1527 of file BackendFreeRDP.cpp.

◆ cb_begin_paint()

BOOL CBackendFreeRDP::cb_begin_paint ( rdpContext *  context)
static

Definition at line 1918 of file BackendFreeRDP.cpp.

◆ cb_desktop_resize()

BOOL CBackendFreeRDP::cb_desktop_resize ( rdpContext *  context)
static

Definition at line 2017 of file BackendFreeRDP.cpp.

◆ cb_end_paint()

BOOL CBackendFreeRDP::cb_end_paint ( rdpContext *  context)
static

Definition at line 1953 of file BackendFreeRDP.cpp.

◆ cb_GatewayAuthenticate()

BOOL CBackendFreeRDP::cb_GatewayAuthenticate ( freerdp *  instance,
char **  username,
char **  password,
char **  domain 
)
static

Definition at line 1560 of file BackendFreeRDP.cpp.

◆ cb_keyboard_set_ime_status()

BOOL CBackendFreeRDP::cb_keyboard_set_ime_status ( rdpContext *  context,
UINT16  imeId,
UINT32  imeState,
UINT32  imeConvMode 
)
static

Definition at line 2083 of file BackendFreeRDP.cpp.

◆ cb_keyboard_set_indicators()

BOOL CBackendFreeRDP::cb_keyboard_set_indicators ( rdpContext *  context,
UINT16  led_flags 
)
static

Definition at line 2062 of file BackendFreeRDP.cpp.

◆ cb_logon_error_info()

int CBackendFreeRDP::cb_logon_error_info ( freerdp *  instance,
UINT32  data,
UINT32  type 
)
static

Definition at line 998 of file BackendFreeRDP.cpp.

◆ cb_play_bell_sound()

BOOL CBackendFreeRDP::cb_play_bell_sound ( rdpContext *  context,
const PLAY_SOUND_UPDATE *  play_sound 
)
static

Definition at line 2039 of file BackendFreeRDP.cpp.

◆ cb_post_connect()

BOOL CBackendFreeRDP::cb_post_connect ( freerdp *  instance)
static

Callback given to freerdp_connect() to perform post-connection operations.

It will be called only if the connection was initialized properly, and will continue the initialization based on the newly created connection.

Definition at line 925 of file BackendFreeRDP.cpp.

◆ cb_post_disconnect()

void CBackendFreeRDP::cb_post_disconnect ( freerdp *  instance)
static

Definition at line 981 of file BackendFreeRDP.cpp.

◆ cb_pre_connect()

BOOL CBackendFreeRDP::cb_pre_connect ( freerdp *  instance)
static

Callback given to freerdp_connect() to process the pre-connect operations.

Called before a connection is established.

It will fill the rdp_freerdp structure (instance) with the appropriate options to use for the connection.

Parameters
instance- pointer to the rdp_freerdp structure that contains the connection's parameters, and will be filled with the appropriate information.
Returns
TRUE if successful. FALSE otherwise. Can exit with error code XF_EXIT_PARSE_ARGUMENTS if there is an error in the parameters.

Set all configuration options to support and load channels here.

Callback given to freerdp_connect() to process the pre-connect operations. It will fill the rdp_freerdp structure (instance) with the appropriate options to use for the connection.

Parameters
instance- pointer to the rdp_freerdp structure that contains the connection's parameters, and will be filled with the appropriate information.
Returns
TRUE if successful. FALSE otherwise. Can exit with error code XF_EXIT_PARSE_ARGUMENTS if there is an error in the parameters.

Definition at line 692 of file BackendFreeRDP.cpp.

◆ cb_present_gateway_message()

BOOL CBackendFreeRDP::cb_present_gateway_message ( freerdp *  instance,
UINT32  type,
BOOL  isDisplayMandatory,
BOOL  isConsentMandatory,
size_t  length,
const WCHAR *  message 
)
static

Definition at line 1868 of file BackendFreeRDP.cpp.

◆ cb_verify_certificate_ex()

DWORD CBackendFreeRDP::cb_verify_certificate_ex ( freerdp *  instance,
const char *  host,
UINT16  port,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
DWORD  flags 
)
static

Callback set in the rdp_freerdp structure, and used to make a certificate validation when the connection requires it.

This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instancepointer to the rdp_freerdp structure that contains the connection settings
hostThe host currently connecting to
portThe port currently connecting to
common_nameThe common name of the certificate, should match host or an alias of it
subjectThe subject of the certificate
issuerThe certificate issuer name
fingerprintThe fingerprint of the certificate
flagsSee VERIFY_CERT_FLAG_* for possible values.
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Definition at line 1670 of file BackendFreeRDP.cpp.

◆ cb_verify_changed_certificate_ex()

DWORD CBackendFreeRDP::cb_verify_changed_certificate_ex ( freerdp *  instance,
const char *  host,
UINT16  port,
const char *  common_name,
const char *  subject,
const char *  issuer,
const char *  fingerprint,
const char *  old_subject,
const char *  old_issuer,
const char *  old_fingerprint,
DWORD  flags 
)
static

Callback set in the rdp_freerdp structure, and used to make a certificate validation when a stored certificate does not match the remote counterpart.

This function will actually be called by tls_verify_certificate().

See also
rdp_client_connect() and tls_connect()
Parameters
instancepointer to the rdp_freerdp structure that contains the connection settings
hostThe host currently connecting to
portThe port currently connecting to
common_nameThe common name of the certificate, should match host or an alias of it
subjectThe subject of the certificate
issuerThe certificate issuer name
fingerprintThe fingerprint of the certificate
old_subjectThe subject of the previous certificate
old_issuerThe previous certificate issuer name
old_fingerprintThe fingerprint of the previous certificate
flagsSee VERIFY_CERT_FLAG_* for possible values.
Returns
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

Definition at line 1787 of file BackendFreeRDP.cpp.

◆ cb_verify_x509_certificate()

int CBackendFreeRDP::cb_verify_x509_certificate ( freerdp *  instance,
const BYTE *  data,
size_t  length,
const char *  hostname,
UINT16  port,
DWORD  flags 
)
static

Callback used if user interaction is required to accept a certificate.

Parameters
instancePointer to the freerdp instance.
dataPointer to certificate data (full chain) in PEM format.
lengthThe length of the certificate data.
hostnameThe hostname connecting to.
portThe port connecting to.
flagsFlags of type VERIFY_CERT_FLAG*
Returns
1 to accept and store a certificate, 2 to accept a certificate only for this session, 0 otherwise.

Definition at line 1594 of file BackendFreeRDP.cpp.

◆ cbClientFree()

void CBackendFreeRDP::cbClientFree ( freerdp *  instance,
rdpContext *  context 
)
static

Definition at line 528 of file BackendFreeRDP.cpp.

◆ cbClientNew()

BOOL CBackendFreeRDP::cbClientNew ( freerdp *  instance,
rdpContext *  context 
)
static

Definition at line 503 of file BackendFreeRDP.cpp.

◆ cbClientStart()

int CBackendFreeRDP::cbClientStart ( rdpContext *  context)
static

Definition at line 533 of file BackendFreeRDP.cpp.

◆ cbClientStop()

int CBackendFreeRDP::cbClientStop ( rdpContext *  context)
static

Definition at line 658 of file BackendFreeRDP.cpp.

◆ cbGlobalInit()

BOOL CBackendFreeRDP::cbGlobalInit ( )
static

Definition at line 492 of file BackendFreeRDP.cpp.

◆ cbGlobalUninit()

void CBackendFreeRDP::cbGlobalUninit ( )
static

Definition at line 498 of file BackendFreeRDP.cpp.

◆ CreateImage()

BOOL CBackendFreeRDP::CreateImage ( rdpContext *  context)
private

Definition at line 1111 of file BackendFreeRDP.cpp.

◆ GetImageFormat() [1/2]

UINT32 CBackendFreeRDP::GetImageFormat ( )
private

Definition at line 1106 of file BackendFreeRDP.cpp.

◆ GetImageFormat() [2/2]

UINT32 CBackendFreeRDP::GetImageFormat ( QImage::Format  format)
static

Definition at line 1085 of file BackendFreeRDP.cpp.

◆ GetTitle()

const char * CBackendFreeRDP::GetTitle ( freerdp *  instance)
static

Definition at line 883 of file BackendFreeRDP.cpp.

◆ InputMethodEvent()

void CBackendFreeRDP::InputMethodEvent ( QInputMethodEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2284 of file BackendFreeRDP.cpp.

◆ keyPressEvent()

void CBackendFreeRDP::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2251 of file BackendFreeRDP.cpp.

◆ keyReleaseEvent()

void CBackendFreeRDP::keyReleaseEvent ( QKeyEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2268 of file BackendFreeRDP.cpp.

◆ mouseMoveEvent()

void CBackendFreeRDP::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2168 of file BackendFreeRDP.cpp.

◆ mousePressEvent()

void CBackendFreeRDP::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2177 of file BackendFreeRDP.cpp.

◆ mouseReleaseEvent()

void CBackendFreeRDP::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2214 of file BackendFreeRDP.cpp.

◆ OnChannelConnectedEventHandler()

void CBackendFreeRDP::OnChannelConnectedEventHandler ( void *  context,
ChannelConnectedEventArgs *  e 
)
static

Definition at line 1013 of file BackendFreeRDP.cpp.

◆ OnChannelDisconnectedEventHandler()

void CBackendFreeRDP::OnChannelDisconnectedEventHandler ( void *  context,
ChannelDisconnectedEventArgs *  e 
)
static

Definition at line 1052 of file BackendFreeRDP.cpp.

◆ OnClean()

int CBackendFreeRDP::OnClean ( )
overrideprivatevirtual

Clean.

See also
Stop()

Implements CBackend.

Definition at line 317 of file BackendFreeRDP.cpp.

◆ OnInit()

CBackendFreeRDP::OnInitReturnValue CBackendFreeRDP::OnInit ( )
overrideprivatevirtual

Initialization.

Returns
See also
Start()

Implements CBackend.

Definition at line 99 of file BackendFreeRDP.cpp.

◆ OnProcess() [1/2]

int CBackendFreeRDP::OnProcess ( )
overrideprivatevirtual

Specific operation processing of plug-in connection.

Because of it is a non-Qt event loop, so wait in here.

Returns
  • >= 0: continue, Interval call time (msec)
  • = -1: stop
  • < -1: error
See also
CConnect::Connect() CConnect::slotTimeOut()

Reimplemented from CBackend.

Definition at line 367 of file BackendFreeRDP.cpp.

◆ OnProcess() [2/2]

int CBackendFreeRDP::OnProcess ( int  nTimeout)
private

Specific operation processing of plug-in connection.

Because of it is a non-Qt event loop, so wait in here.

Returns
  • >= 0: continue, Interval call time (msec)
  • = -1: stop
  • < -1: error
See also
CConnect::Connect() CConnect::slotTimeOut()

Definition at line 385 of file BackendFreeRDP.cpp.

◆ RedirectionDriver()

int CBackendFreeRDP::RedirectionDriver ( )
private

Definition at line 2414 of file BackendFreeRDP.cpp.

◆ RedirectionMicrophone()

int CBackendFreeRDP::RedirectionMicrophone ( )
private

Definition at line 2369 of file BackendFreeRDP.cpp.

◆ RedirectionPrinter()

int CBackendFreeRDP::RedirectionPrinter ( )
private

Definition at line 2446 of file BackendFreeRDP.cpp.

◆ RedirectionSerial()

int CBackendFreeRDP::RedirectionSerial ( )
private

Definition at line 2480 of file BackendFreeRDP.cpp.

◆ RedirectionSound()

int CBackendFreeRDP::RedirectionSound ( )
private

Definition at line 2302 of file BackendFreeRDP.cpp.

◆ SendMouseEvent()

bool CBackendFreeRDP::SendMouseEvent ( UINT16  flags,
QPoint  pos,
bool  isExtended 
)
private

Definition at line 2105 of file BackendFreeRDP.cpp.

◆ slotClipBoardChanged

void CBackendFreeRDP::slotClipBoardChanged ( )
overridevirtualslot

Definition at line 484 of file BackendFreeRDP.cpp.

◆ slotConnectProxyServer

void CBackendFreeRDP::slotConnectProxyServer ( QString  szHost,
quint16  nPort 
)
privateslot

Definition at line 2520 of file BackendFreeRDP.cpp.

◆ UpdateBuffer()

BOOL CBackendFreeRDP::UpdateBuffer ( INT32  x,
INT32  y,
INT32  w,
INT32  h 
)
private

Definition at line 1936 of file BackendFreeRDP.cpp.

◆ WakeUp()

int CBackendFreeRDP::WakeUp ( )
overrideprotectedvirtual

Wake up Backend thread(background thread)

Reimplemented from CBackendDesktop.

Definition at line 2096 of file BackendFreeRDP.cpp.

◆ wheelEvent()

void CBackendFreeRDP::wheelEvent ( QWheelEvent *  event)
overrideprotectedvirtual

Reimplemented from CBackendDesktop.

Definition at line 2125 of file BackendFreeRDP.cpp.

Friends And Related Symbol Documentation

◆ CCursorFreeRDP

friend class CCursorFreeRDP
friend

Definition at line 180 of file BackendFreeRDP.h.

Member Data Documentation

◆ m_ClientEntryPoints

RDP_CLIENT_ENTRY_POINTS CBackendFreeRDP::m_ClientEntryPoints
private

Definition at line 174 of file BackendFreeRDP.h.

◆ m_ClipBoard

CClipboardFreeRDP CBackendFreeRDP::m_ClipBoard
private

Definition at line 178 of file BackendFreeRDP.h.

◆ m_Cursor

CCursorFreeRDP CBackendFreeRDP::m_Cursor
private

Definition at line 179 of file BackendFreeRDP.h.

◆ m_Image

QImage CBackendFreeRDP::m_Image
private

Definition at line 176 of file BackendFreeRDP.h.

◆ m_pContext

ClientContext* CBackendFreeRDP::m_pContext
private

Definition at line 171 of file BackendFreeRDP.h.

◆ m_pOperate

COperateDesktop* CBackendFreeRDP::m_pOperate
private

Definition at line 162 of file BackendFreeRDP.h.

◆ m_pParameter

CParameterFreeRDP* CBackendFreeRDP::m_pParameter
private

Definition at line 172 of file BackendFreeRDP.h.

◆ m_SecurityLevel

CSecurityLevel::Levels CBackendFreeRDP::m_SecurityLevel
private

Definition at line 195 of file BackendFreeRDP.h.

◆ m_writeEvent

HANDLE CBackendFreeRDP::m_writeEvent
private

Definition at line 182 of file BackendFreeRDP.h.


The documentation for this class was generated from the following files: