📄 vncserver.h
字号:
virtual BOOL EnableHTTPConnect(BOOL enable);
virtual BOOL HTTPConnectEnabled() {return m_enableHttpConn;};
virtual BOOL EnableXDMCPConnect(BOOL enable);
virtual BOOL XDMCPConnectEnabled() {return m_enableXdmcpConn;};
virtual void GetScreenInfo(int &width, int &height, int &depth);
// Allow connections if no password is set?
virtual void SetAuthRequired(BOOL reqd) {m_passwd_required = reqd;};
virtual BOOL AuthRequired() {return m_passwd_required;};
// Handling of per-client connection authorisation
virtual void SetAuthHosts(const char *hostlist);
virtual char *AuthHosts();
enum AcceptQueryReject {aqrAccept, aqrQuery, aqrReject};
virtual AcceptQueryReject VerifyHost(const char *hostname);
// Blacklisting of machines which fail connection attempts too often
// Such machines will fail VerifyHost for a short period
virtual void AddAuthHostsBlacklist(const char *machine);
virtual void RemAuthHostsBlacklist(const char *machine);
// Connection querying settings
virtual void SetQuerySetting(const UINT setting) {m_querysetting = setting;};
virtual UINT QuerySetting() {return m_querysetting;};
virtual void SetQueryAccept(const UINT setting) {m_queryaccept = setting;};
virtual UINT QueryAccept() {return m_queryaccept;};
virtual void SetQueryTimeout(const UINT setting) {m_querytimeout = setting;};
virtual UINT QueryTimeout() {return m_querytimeout;};
// Whether or not to allow connections from the local machine
virtual void SetLoopbackOk(BOOL ok) {m_loopback_allowed = ok;};
virtual BOOL LoopbackOk() {return m_loopback_allowed;};
// Whether or not to shutdown or logoff when the last client leaves
virtual void SetLockSettings(int ok) {m_lock_on_exit = ok;};
virtual int LockSettings() {return m_lock_on_exit;};
// Timeout for automatic disconnection of idle connections
virtual void SetAutoIdleDisconnectTimeout(const UINT timeout) {m_idle_timeout = timeout;};
virtual UINT AutoIdleDisconnectTimeout() {return m_idle_timeout;};
// Removal of desktop wallpaper, etc
virtual void EnableRemoveWallpaper(const BOOL enable) {m_remove_wallpaper = enable;};
virtual BOOL RemoveWallpaperEnabled() {return m_remove_wallpaper;};
// sf@2002 - v1.1.x - Server Default Scale
virtual UINT GetDefaultScale();
virtual BOOL SetDefaultScale(int nScale);
virtual BOOL FileTransferEnabled();
virtual BOOL EnableFileTransfer(BOOL fEnable);
virtual BOOL BlankMonitorEnabled() {return m_fBlankMonitorEnabled;};
virtual void BlankMonitorEnabled(BOOL fEnable) {m_fBlankMonitorEnabled = fEnable;};
virtual BOOL MSLogonRequired();
virtual BOOL RequireMSLogon(BOOL fEnable);
virtual BOOL GetNewMSLogon();
virtual BOOL SetNewMSLogon(BOOL fEnable);
// sf@2002 - DSM Plugin
virtual BOOL IsDSMPluginEnabled();
virtual void EnableDSMPlugin(BOOL fEnable);
virtual char* GetDSMPluginName();
virtual void SetDSMPluginName(char* szDSMPlugin);
virtual BOOL SetDSMPlugin(void);
virtual CDSMPlugin* GetDSMPluginPointer() { return m_pDSMPlugin;};
// sf@2002 - Cursor handling
virtual void EnableXRichCursor(BOOL fEnable);
virtual BOOL IsXRichCursorEnabled() {return m_fXRichCursor;};
// sf@2002
virtual void DisableCacheForAllClients();
virtual bool IsThereASlowClient();
virtual bool IsThereAUltraEncodingClient();
// sf@2002 - Turbo Mode
virtual void TurboMode(BOOL fEnabled) { m_TurboMode = fEnabled; };
virtual BOOL TurboMode() { return m_TurboMode; };
// sf@2003 - AutoReconnect
virtual BOOL AutoReconnect(){return m_fAutoReconnect;};
virtual UINT AutoReconnectPort(){return m_AutoReconnectPort;};
virtual char* AutoReconnectAdr(){return m_szAutoReconnectAdr;}
virtual void AutoReconnect(BOOL fEnabled){m_fAutoReconnect = fEnabled;};
virtual void AutoReconnectPort(UINT nPort){m_AutoReconnectPort = nPort;};
virtual void AutoReconnectAdr(char* szAdr){strcpy(m_szAutoReconnectAdr, szAdr);}
// sf@2005 - FTUserImpersonation
virtual BOOL FTUserImpersonation(){return m_fFTUserImpersonation;};
virtual void FTUserImpersonation(BOOL fEnabled){m_fFTUserImpersonation = fEnabled;};
virtual BOOL CaptureAlphaBlending(){return m_fCaptureAlphaBlending;};
virtual void CaptureAlphaBlending(BOOL fEnabled){m_fCaptureAlphaBlending = fEnabled;};
virtual BOOL BlackAlphaBlending(){return m_fBlackAlphaBlending;};
virtual void BlackAlphaBlending(BOOL fEnabled){m_fBlackAlphaBlending = fEnabled;};
virtual void Clear_Update_Tracker();
virtual void UpdateCursorShape();
bool IsClient(vncClient* pClient);
protected:
// The vncServer UpdateTracker class
// Behaves like a standard UpdateTracker, but propagates update
// information to active clients' trackers
class ServerUpdateTracker : public rfb::UpdateTracker {
public:
ServerUpdateTracker() : m_server(0) {};
virtual void init(vncServer *server) {m_server=server;};
virtual void add_changed(const rfb::Region2D ®ion);
virtual void add_cached(const rfb::Region2D ®ion);
virtual void add_copied(const rfb::Region2D &dest, const rfb::Point &delta);
protected:
vncServer *m_server;
};
friend class ServerUpdateTracker;
ServerUpdateTracker m_update_tracker;
// Internal stuffs
protected:
// Connection servers
vncSockConnect *m_socketConn;
vncHTTPConnect *m_httpConn;
HANDLE m_xdmcpConn;
BOOL m_enableHttpConn;
BOOL m_enableXdmcpConn;
// The desktop handler
vncDesktop *m_desktop;
// General preferences
// UINT m_port;
// UINT m_port_http; // TightVNC 1.2.7
BOOL m_autoportselect;
char m_password[MAXPWLEN];
BOOL m_passwd_required;
BOOL m_loopback_allowed;
BOOL m_loopbackOnly;
char *m_auth_hosts;
BOOL m_enable_remote_inputs;
BOOL m_disable_local_inputs;
int m_lock_on_exit;
int m_connect_pri;
UINT m_querysetting;
UINT m_queryaccept;
UINT m_querytimeout;
UINT m_idle_timeout;
BOOL m_remove_wallpaper;
BOOL m_disableTrayIcon;
BOOL m_AllowEditClients;
// Polling preferences
BOOL m_poll_fullscreen;
BOOL m_poll_foreground;
BOOL m_poll_undercursor;
BOOL m_poll_oneventonly;
BOOL m_poll_consoleonly;
BOOL m_driver;
BOOL m_hook;
BOOL m_virtual;
BOOL sethook;
// Name of this desktop
char *m_name;
// Blacklist structures
struct BlacklistEntry {
BlacklistEntry *_next;
char *_machineName;
LARGE_INTEGER _lastRefTime;
UINT _failureCount;
BOOL _blocked;
};
BlacklistEntry *m_blacklist;
// The client lists - list of clients being authorised and ones
// already authorised
vncClientList m_unauthClients;
vncClientList m_authClients;
vncClient *m_clientmap[MAX_CLIENTS];
vncClientId m_nextid;
// Lock to protect the client list from concurrency - lock when reading/updating client list
// omni_mutex m_clientsLock;
// Lock to protect the desktop object from concurrency - lock when updating client list
omni_mutex m_desktopLock;
// Signal set when a client removes itself
omni_condition *m_clientquitsig;
// Set of windows to send notifications to
vncNotifyList m_notifyList;
// Modif sf@2002 - Single Window
BOOL m_SingleWindow;
char m_szWindowName[32]; // to keep the window name
// Modif sf@2002
BOOL m_TurboMode;
// Modif sf@2002 - v1.1.x
// BOOL m_fQueuingEnabled;
BOOL m_fFileTransferEnabled;
BOOL m_fBlankMonitorEnabled;
int m_nDefaultScale;
BOOL m_fMSLogonRequired;
BOOL m_fNewMSLogon;
// sf@2002 - DSMPlugin
BOOL m_fDSMPluginEnabled;
char m_szDSMPlugin[128];
CDSMPlugin *m_pDSMPlugin;
// sf@2002 - Cursor handling
BOOL m_fXRichCursor;
// sf@2003 - AutoReconnect
BOOL m_fAutoReconnect;
UINT m_AutoReconnectPort;
char m_szAutoReconnectAdr[64];
// sf@2005 - FTUserImpersonation
BOOL m_fFTUserImpersonation;
// sf@2005
BOOL m_fCaptureAlphaBlending;
BOOL m_fBlackAlphaBlending;
HINSTANCE hWtsLib;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -