玉兔远程控制 0.1.0-alpha.2
载入中...
搜索中...
未找到
| Public 槽 | Public 成员函数 | 静态 Public 成员函数 | Protected 成员函数 | Private 槽 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
CBackendFreeRDP类 参考
类 CBackendFreeRDP 继承关系图:
Inheritance graph
[图例]
CBackendFreeRDP 的协作图:
Collaboration graph
[图例]

struct  ClientContext
 

Public 槽

virtual void slotClipBoardChanged () override
 
- Public 槽 继承自 CBackendDesktop
virtual void slotClipBoardChanged ()=0
 当剪切板发生改变时调用
 
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 成员函数

 CBackendFreeRDP (COperateFreeRDP *pOperate)
 
- Public 成员函数 继承自 CBackendDesktop
 CBackendDesktop (COperateDesktop *pOperate=nullptr, bool bDirectConnection=true)
 
virtual bool event (QEvent *event) override
 
- Public 成员函数 继承自 CBackend
 CBackend (COperate *pOperate=nullptr)
 
virtual int Start ()
 开始。根据 OnInit() 返回值来决定是否开始定时器来支持非 qt 事件
 
virtual int Stop ()
 停止
 

静态 Public 成员函数

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 成员函数

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
 唤醒后台线程
 

Private 槽

void slotConnectProxyServer (QString szHost, quint16 nPort)
 

Private 成员函数

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
 初始化
 
virtual int OnClean () override
 清理
 
virtual int OnProcess () override
 插件连接的具体操作处理。因为此插件是非Qt事件,所以在此函数中等待。
 
int OnProcess (int nTimeout)
 插件连接的具体操作处理。因为此插件是非Qt事件,所以在此函数中等待。
 

Private 属性

COperateDesktopm_pOperate
 
ClientContextm_pContext
 
CParameterFreeRDPm_pParameter
 
RDP_CLIENT_ENTRY_POINTS m_ClientEntryPoints
 
QImage m_Image
 
CClipboardFreeRDP m_ClipBoard
 
CCursorFreeRDP m_Cursor
 
HANDLE m_writeEvent
 

友元

class CCursorFreeRDP
 

额外继承的成员函数

- 信号 继承自 CBackendDesktop
void sigSetDesktopSize (int width, int height)
 
void sigServerName (const QString &szName)
 
void sigUpdateRect (const QRect &r, const QImage &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)
 
- 信号 继承自 CBackend
void sigRunning ()
 当插件开始成功后触发。仅由插件触发
 
void sigStop ()
 需要通知用户停止时触发。仅由插件触发。 当从插件中需要停止时触发。例如:对端断开连接、重置连接或者连接出错。
 
void sigFinished ()
 停止成功信号。仅由插件触发
 
void sigError (const int nError, const QString &szError=QString())
 当有错误产生时触发
 
void sigInformation (const QString &szInfo)
 从后台线程中触发在主线程中显示信息,不阻塞后台线程
 
void sigShowMessageBox (const QString &szTitle, const QString &szMessage, const QMessageBox::Icon &icon=QMessageBox::Information)
 从后台线程中触发在主线程中显示消息对话框(QMessageBox),不阻塞后台线程
 
void sigBlockShowMessageBox (const QString &szTitle, const QString &szMessage, QMessageBox::StandardButtons buttons, QMessageBox::StandardButton &nRet, bool &checkBox, QString checkBoxContext=QString())
 阻塞后台线程,并在前台线程中显示消息对话框(QMessageBox)
 
void sigBlockInputDialog (const QString &szTitle, const QString &szLable, const QString &szMessage, QString &szText)
 阻塞后台线程,并在前台线程中显示输入对话框 (QInputDialog)
 
void sigBlockShowWidget (const QString &className, int &nRet, void *pContext)
 阻塞后台线程,并在前台线程中显示窗口。
 
- Protected 类型 继承自 CBackend
enum class  OnInitReturnValue { Fail = -1 , Success = 0 , UseOnProcess = Success , NotUseOnProcess = 1 }
 
- Protected 槽 继承自 CBackend
virtual void slotTimeOut ()
 一个非 Qt 事件处理,它调用 OnProcess(),并根据其返回值开始新的定时器。 如果是不是一个非 Qt 事件循环(就是普通的循环处理), 可以重载它,或者 OnInit() 返回值大于 0
 

详细描述

在文件 BackendFreeRDP.h25 行定义.

构造及析构函数说明

◆ ~CBackendFreeRDP()

CBackendFreeRDP::~CBackendFreeRDP ( )
overridevirtual

在文件 BackendFreeRDP.cpp88 行定义.

成员函数说明

◆ cb_authenticate()

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

在文件 BackendFreeRDP.cpp1525 行定义.

◆ cb_begin_paint()

BOOL CBackendFreeRDP::cb_begin_paint ( rdpContext *  context)
static

在文件 BackendFreeRDP.cpp1896 行定义.

◆ cb_desktop_resize()

BOOL CBackendFreeRDP::cb_desktop_resize ( rdpContext *  context)
static

在文件 BackendFreeRDP.cpp1995 行定义.

◆ cb_end_paint()

BOOL CBackendFreeRDP::cb_end_paint ( rdpContext *  context)
static

在文件 BackendFreeRDP.cpp1931 行定义.

◆ cb_GatewayAuthenticate()

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

在文件 BackendFreeRDP.cpp1556 行定义.

◆ cb_keyboard_set_ime_status()

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

在文件 BackendFreeRDP.cpp2061 行定义.

◆ cb_keyboard_set_indicators()

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

在文件 BackendFreeRDP.cpp2040 行定义.

◆ cb_logon_error_info()

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

在文件 BackendFreeRDP.cpp997 行定义.

◆ cb_play_bell_sound()

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

在文件 BackendFreeRDP.cpp2017 行定义.

◆ 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.

在文件 BackendFreeRDP.cpp924 行定义.

◆ cb_post_disconnect()

void CBackendFreeRDP::cb_post_disconnect ( freerdp *  instance)
static

在文件 BackendFreeRDP.cpp980 行定义.

◆ cb_pre_connect()

BOOL CBackendFreeRDP::cb_pre_connect ( freerdp *  instance)
static

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.

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

在文件 BackendFreeRDP.cpp689 行定义.

◆ 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

在文件 BackendFreeRDP.cpp1846 行定义.

◆ 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().

参见
rdp_client_connect() and tls_connect()
参数
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.
返回
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

在文件 BackendFreeRDP.cpp1663 行定义.

◆ 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().

参见
rdp_client_connect() and tls_connect()
参数
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.
返回
1 if the certificate is trusted, 2 if temporary trusted, 0 otherwise.

在文件 BackendFreeRDP.cpp1772 行定义.

◆ 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.

参数
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*
返回
1 to accept and store a certificate, 2 to accept a certificate only for this session, 0 otherwise.

在文件 BackendFreeRDP.cpp1587 行定义.

◆ cbClientFree()

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

在文件 BackendFreeRDP.cpp526 行定义.

◆ cbClientNew()

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

在文件 BackendFreeRDP.cpp501 行定义.

◆ cbClientStart()

int CBackendFreeRDP::cbClientStart ( rdpContext *  context)
static

在文件 BackendFreeRDP.cpp531 行定义.

◆ cbClientStop()

int CBackendFreeRDP::cbClientStop ( rdpContext *  context)
static

在文件 BackendFreeRDP.cpp655 行定义.

◆ cbGlobalInit()

BOOL CBackendFreeRDP::cbGlobalInit ( )
static

在文件 BackendFreeRDP.cpp490 行定义.

◆ cbGlobalUninit()

void CBackendFreeRDP::cbGlobalUninit ( )
static

在文件 BackendFreeRDP.cpp496 行定义.

◆ CreateImage()

BOOL CBackendFreeRDP::CreateImage ( rdpContext *  context)
private

在文件 BackendFreeRDP.cpp1110 行定义.

◆ GetImageFormat() [1/2]

UINT32 CBackendFreeRDP::GetImageFormat ( )
private

在文件 BackendFreeRDP.cpp1105 行定义.

◆ GetImageFormat() [2/2]

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

在文件 BackendFreeRDP.cpp1084 行定义.

◆ GetTitle()

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

在文件 BackendFreeRDP.cpp882 行定义.

◆ InputMethodEvent()

void CBackendFreeRDP::InputMethodEvent ( QInputMethodEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2262 行定义.

◆ keyPressEvent()

void CBackendFreeRDP::keyPressEvent ( QKeyEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2229 行定义.

◆ keyReleaseEvent()

void CBackendFreeRDP::keyReleaseEvent ( QKeyEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2246 行定义.

◆ mouseMoveEvent()

void CBackendFreeRDP::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2146 行定义.

◆ mousePressEvent()

void CBackendFreeRDP::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2155 行定义.

◆ mouseReleaseEvent()

void CBackendFreeRDP::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2192 行定义.

◆ OnChannelConnectedEventHandler()

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

在文件 BackendFreeRDP.cpp1012 行定义.

◆ OnChannelDisconnectedEventHandler()

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

在文件 BackendFreeRDP.cpp1051 行定义.

◆ OnClean()

int CBackendFreeRDP::OnClean ( )
overrideprivatevirtual

清理

参见
Stop()

实现了 CBackend.

在文件 BackendFreeRDP.cpp315 行定义.

◆ OnInit()

CBackendFreeRDP::OnInitReturnValue CBackendFreeRDP::OnInit ( )
overrideprivatevirtual

初始化

返回
参见
Start()

实现了 CBackend.

在文件 BackendFreeRDP.cpp99 行定义.

◆ OnProcess() [1/2]

int CBackendFreeRDP::OnProcess ( )
overrideprivatevirtual

插件连接的具体操作处理。因为此插件是非Qt事件,所以在此函数中等待。

返回
  • >= 0: continue, Interval call time (msec)
  • = -1: stop
  • < -1: error
参见
CConnect::Connect() CConnect::slotTimeOut()

重载 CBackend .

在文件 BackendFreeRDP.cpp365 行定义.

◆ OnProcess() [2/2]

int CBackendFreeRDP::OnProcess ( int  nTimeout)
private

插件连接的具体操作处理。因为此插件是非Qt事件,所以在此函数中等待。

返回
  • >= 0: continue, Interval call time (msec)
  • = -1: stop
  • < -1: error
参见
CConnect::Connect() CConnect::slotTimeOut()

在文件 BackendFreeRDP.cpp383 行定义.

◆ RedirectionDriver()

int CBackendFreeRDP::RedirectionDriver ( )
private

在文件 BackendFreeRDP.cpp2392 行定义.

◆ RedirectionMicrophone()

int CBackendFreeRDP::RedirectionMicrophone ( )
private

在文件 BackendFreeRDP.cpp2347 行定义.

◆ RedirectionPrinter()

int CBackendFreeRDP::RedirectionPrinter ( )
private

在文件 BackendFreeRDP.cpp2424 行定义.

◆ RedirectionSerial()

int CBackendFreeRDP::RedirectionSerial ( )
private

在文件 BackendFreeRDP.cpp2458 行定义.

◆ RedirectionSound()

int CBackendFreeRDP::RedirectionSound ( )
private

在文件 BackendFreeRDP.cpp2280 行定义.

◆ SendMouseEvent()

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

在文件 BackendFreeRDP.cpp2083 行定义.

◆ slotClipBoardChanged

void CBackendFreeRDP::slotClipBoardChanged ( )
overridevirtualslot

在文件 BackendFreeRDP.cpp482 行定义.

◆ slotConnectProxyServer

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

在文件 BackendFreeRDP.cpp2498 行定义.

◆ UpdateBuffer()

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

在文件 BackendFreeRDP.cpp1914 行定义.

◆ WakeUp()

int CBackendFreeRDP::WakeUp ( )
overrideprotectedvirtual

唤醒后台线程

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2074 行定义.

◆ wheelEvent()

void CBackendFreeRDP::wheelEvent ( QWheelEvent *  event)
overrideprotectedvirtual

重载 CBackendDesktop .

在文件 BackendFreeRDP.cpp2103 行定义.

友元及相关函数文档

◆ CCursorFreeRDP

friend class CCursorFreeRDP
friend

在文件 BackendFreeRDP.h180 行定义.

类成员变量说明

◆ m_ClientEntryPoints

RDP_CLIENT_ENTRY_POINTS CBackendFreeRDP::m_ClientEntryPoints
private

在文件 BackendFreeRDP.h174 行定义.

◆ m_ClipBoard

CClipboardFreeRDP CBackendFreeRDP::m_ClipBoard
private

在文件 BackendFreeRDP.h178 行定义.

◆ m_Cursor

CCursorFreeRDP CBackendFreeRDP::m_Cursor
private

在文件 BackendFreeRDP.h179 行定义.

◆ m_Image

QImage CBackendFreeRDP::m_Image
private

在文件 BackendFreeRDP.h176 行定义.

◆ m_pContext

ClientContext* CBackendFreeRDP::m_pContext
private

在文件 BackendFreeRDP.h171 行定义.

◆ m_pOperate

COperateDesktop* CBackendFreeRDP::m_pOperate
private

在文件 BackendFreeRDP.h162 行定义.

◆ m_pParameter

CParameterFreeRDP* CBackendFreeRDP::m_pParameter
private

在文件 BackendFreeRDP.h172 行定义.

◆ m_writeEvent

HANDLE CBackendFreeRDP::m_writeEvent
private

在文件 BackendFreeRDP.h182 行定义.


该类的文档由以下文件生成: