⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connection.h

📁 vncviewer_source_1.0
💻 H
📖 第 1 页 / 共 2 页
字号:
	    { 0x0dac, 0x0e0c },
	    { 0x0dad, 0x0e0d },
	    { 0x0dae, 0x0e0e },
	    { 0x0daf, 0x0e0f },
	    { 0x0db0, 0x0e10 },
	    { 0x0db1, 0x0e11 },
	    { 0x0db2, 0x0e12 },
	    { 0x0db3, 0x0e13 },
	    { 0x0db4, 0x0e14 },
	    { 0x0db5, 0x0e15 },
	    { 0x0db6, 0x0e16 },
	    { 0x0db7, 0x0e17 },
	    { 0x0db8, 0x0e18 },
	    { 0x0db9, 0x0e19 },
	    { 0x0dba, 0x0e1a },
	    { 0x0dbb, 0x0e1b },
	    { 0x0dbc, 0x0e1c },
	    { 0x0dbd, 0x0e1d },
	    { 0x0dbe, 0x0e1e },
	    { 0x0dbf, 0x0e1f },
	    { 0x0dc0, 0x0e20 },
	    { 0x0dc1, 0x0e21 },
	    { 0x0dc2, 0x0e22 },
	    { 0x0dc3, 0x0e23 },
	    { 0x0dc4, 0x0e24 },
	    { 0x0dc5, 0x0e25 },
	    { 0x0dc6, 0x0e26 },
	    { 0x0dc7, 0x0e27 },
	    { 0x0dc8, 0x0e28 },
	    { 0x0dc9, 0x0e29 },
	    { 0x0dca, 0x0e2a },
	    { 0x0dcb, 0x0e2b },
	    { 0x0dcc, 0x0e2c },
	    { 0x0dcd, 0x0e2d },
	    { 0x0dce, 0x0e2e },
	    { 0x0dcf, 0x0e2f },
	    { 0x0dd0, 0x0e30 },
	    { 0x0dd1, 0x0e31 },
	    { 0x0dd2, 0x0e32 },
	    { 0x0dd3, 0x0e33 },
	    { 0x0dd4, 0x0e34 },
	    { 0x0dd5, 0x0e35 },
	    { 0x0dd6, 0x0e36 },
	    { 0x0dd7, 0x0e37 },
	    { 0x0dd8, 0x0e38 },
	    { 0x0dd9, 0x0e39 },
	    { 0x0dda, 0x0e3a },
	    { 0x0ddf, 0x0e3f },
	    { 0x0de0, 0x0e40 },
	    { 0x0de1, 0x0e41 },
	    { 0x0de2, 0x0e42 },
	    { 0x0de3, 0x0e43 },
	    { 0x0de4, 0x0e44 },
	    { 0x0de5, 0x0e45 },
	    { 0x0de6, 0x0e46 },
	    { 0x0de7, 0x0e47 },
	    { 0x0de8, 0x0e48 },
	    { 0x0de9, 0x0e49 },
	    { 0x0dea, 0x0e4a },
	    { 0x0deb, 0x0e4b },
	    { 0x0dec, 0x0e4c },
	    { 0x0ded, 0x0e4d },
	    { 0x0df0, 0x0e50 },
	    { 0x0df1, 0x0e51 },
	    { 0x0df2, 0x0e52 },
	    { 0x0df3, 0x0e53 },
	    { 0x0df4, 0x0e54 },
	    { 0x0df5, 0x0e55 },
	    { 0x0df6, 0x0e56 },
	    { 0x0df7, 0x0e57 },
	    { 0x0df8, 0x0e58 },
	    { 0x0df9, 0x0e59 },
	    { 0x0ed4, 0x11a8 },
	    { 0x0ed5, 0x11a9 },
	    { 0x0ed6, 0x11aa },
	    { 0x0ed7, 0x11ab },
	    { 0x0ed8, 0x11ac },
	    { 0x0ed9, 0x11ad },
	    { 0x0eda, 0x11ae },
	    { 0x0edb, 0x11af },
	    { 0x0edc, 0x11b0 },
	    { 0x0edd, 0x11b1 },
	    { 0x0ede, 0x11b2 },
	    { 0x0edf, 0x11b3 },
	    { 0x0ee0, 0x11b4 },
	    { 0x0ee1, 0x11b5 },
	    { 0x0ee2, 0x11b6 },
	    { 0x0ee3, 0x11b7 },
	    { 0x0ee4, 0x11b8 },
	    { 0x0ee5, 0x11b9 },
	    { 0x0ee6, 0x11ba },
	    { 0x0ee7, 0x11bb },
	    { 0x0ee8, 0x11bc },
	    { 0x0ee9, 0x11bd },
	    { 0x0eea, 0x11be },
	    { 0x0eeb, 0x11bf },
	    { 0x0eec, 0x11c0 },
	    { 0x0eed, 0x11c1 },
	    { 0x0eee, 0x11c2 },
	    { 0x0ef8, 0x11eb },
	    { 0x0ef9, 0x11f0 },
	    { 0x0efa, 0x11f9 },
	    { 0x0aa2, 0x2002 },
	    { 0x0aa1, 0x2003 },
	    { 0x0aa3, 0x2004 },
	    { 0x0aa4, 0x2005 },
	    { 0x0aa5, 0x2007 },
	    { 0x0aa6, 0x2008 },
	    { 0x0aa7, 0x2009 },
	    { 0x0aa8, 0x200a },
	    { 0x0abb, 0x2012 },
	    { 0x0aaa, 0x2013 },
	    { 0x0aa9, 0x2014 },
	    { 0x07af, 0x2015 },
	    { 0x0cdf, 0x2017 },
	    { 0x0ad0, 0x2018 },
	    { 0x0ad1, 0x2019 },
	    { 0x0afd, 0x201a },
	    { 0x0ad2, 0x201c },
	    { 0x0ad3, 0x201d },
	    { 0x0afe, 0x201e },
	    { 0x0af1, 0x2020 },
	    { 0x0af2, 0x2021 },
	    { 0x0ae6, 0x2022 },
	    { 0x0aaf, 0x2025 },
	    { 0x0aae, 0x2026 },
	    { 0x0ad6, 0x2032 },
	    { 0x0ad7, 0x2033 },
	    { 0x0afc, 0x2038 },
	    { 0x047e, 0x203e },
	    { 0x0eff, 0x20a9 },
	    { 0x20ac, 0x20ac },
	    { 0x0ab8, 0x2105 },
	    { 0x06b0, 0x2116 },
	    { 0x0afb, 0x2117 },
	    { 0x0ad4, 0x211e },
	    { 0x0ac9, 0x2122 },
	    { 0x0ab0, 0x2153 },
	    { 0x0ab1, 0x2154 },
	    { 0x0ab2, 0x2155 },
	    { 0x0ab3, 0x2156 },
	    { 0x0ab4, 0x2157 },
	    { 0x0ab5, 0x2158 },
	    { 0x0ab6, 0x2159 },
	    { 0x0ab7, 0x215a },
	    { 0x0ac3, 0x215b },
	    { 0x0ac4, 0x215c },
	    { 0x0ac5, 0x215d },
	    { 0x0ac6, 0x215e },
	    { 0x08fb, 0x2190 },
	    { 0x08fc, 0x2191 },
	    { 0x08fd, 0x2192 },
	    { 0x08fe, 0x2193 },
	    { 0x08ce, 0x21d2 },
	    { 0x08cd, 0x21d4 },
	    { 0x08ef, 0x2202 },
	    { 0x08c5, 0x2207 },
	    { 0x0bca, 0x2218 },
	    { 0x08d6, 0x221a },
	    { 0x08c1, 0x221d },
	    { 0x08c2, 0x221e },
	    { 0x08de, 0x2227 },
	    { 0x08df, 0x2228 },
	    { 0x08dc, 0x2229 },
	    { 0x08dd, 0x222a },
	    { 0x08bf, 0x222b },
	    { 0x08c0, 0x2234 },
	    { 0x08c8, 0x223c },
	    { 0x08c9, 0x2243 },
	    { 0x08bd, 0x2260 },
	    { 0x08cf, 0x2261 },
	    { 0x08bc, 0x2264 },
	    { 0x08be, 0x2265 },
	    { 0x08da, 0x2282 },
	    { 0x08db, 0x2283 },
	    { 0x0bfc, 0x22a2 },
	    { 0x0bdc, 0x22a3 },
	    { 0x0bce, 0x22a4 },
	    { 0x0bc2, 0x22a5 },
	    { 0x0bd3, 0x2308 },
	    { 0x0bc4, 0x230a },
	    { 0x0afa, 0x2315 },
	    { 0x08a4, 0x2320 },
	    { 0x08a5, 0x2321 },
	    { 0x0abc, 0x2329 },
	    { 0x0abe, 0x232a },
	    { 0x0bcc, 0x2395 },
	    { 0x08ab, 0x239b },
	    { 0x08ac, 0x239d },
	    { 0x08ad, 0x239e },
	    { 0x08ae, 0x23a0 },
	    { 0x08a7, 0x23a1 },
	    { 0x08a8, 0x23a3 },
	    { 0x08a9, 0x23a4 },
	    { 0x08aa, 0x23a6 },
	    { 0x08af, 0x23a8 },
	    { 0x08b0, 0x23ac },
	    { 0x08a1, 0x23b7 },
	    { 0x09ef, 0x23ba },
	    { 0x09f0, 0x23bb },
	    { 0x09f2, 0x23bc },
	    { 0x09f3, 0x23bd },
	    { 0x09e2, 0x2409 },
	    { 0x09e5, 0x240a },
	    { 0x09e9, 0x240b },
	    { 0x09e3, 0x240c },
	    { 0x09e4, 0x240d },
	    { 0x09e8, 0x2424 },
	    { 0x09f1, 0x2500 },
	    { 0x09f8, 0x2502 },
	    { 0x09ec, 0x250c },
	    { 0x09eb, 0x2510 },
	    { 0x09ed, 0x2514 },
	    { 0x09ea, 0x2518 },
	    { 0x09f4, 0x251c },
	    { 0x09f5, 0x2524 },
	    { 0x09f7, 0x252c },
	    { 0x09f6, 0x2534 },
	    { 0x09ee, 0x253c },
	    { 0x09e1, 0x2592 },
	    { 0x0ae7, 0x25aa },
	    { 0x0ae1, 0x25ab },
	    { 0x0adb, 0x25ac },
	    { 0x0ae2, 0x25ad },
	    { 0x0adf, 0x25ae },
	    { 0x0acf, 0x25af },
	    { 0x0ae8, 0x25b2 },
	    { 0x0ae3, 0x25b3 },
	    { 0x0add, 0x25b6 },
	    { 0x0acd, 0x25b7 },
	    { 0x0ae9, 0x25bc },
	    { 0x0ae4, 0x25bd },
	    { 0x0adc, 0x25c0 },
	    { 0x0acc, 0x25c1 },
	    { 0x09e0, 0x25c6 },
	    { 0x0ace, 0x25cb },
	    { 0x0ade, 0x25cf },
	    { 0x0ae0, 0x25e6 },
	    { 0x0ae5, 0x2606 },
	    { 0x0af9, 0x260e },
	    { 0x0aca, 0x2613 },
	    { 0x0aea, 0x261c },
	    { 0x0aeb, 0x261e },
	    { 0x0af8, 0x2640 },
	    { 0x0af7, 0x2642 },
	    { 0x0aec, 0x2663 },
	    { 0x0aee, 0x2665 },
	    { 0x0aed, 0x2666 },
	    { 0x0af6, 0x266d },
	    { 0x0af5, 0x266f },
	    { 0x0af3, 0x2713 },
	    { 0x0af4, 0x2717 },
	    { 0x0ad9, 0x271d },
	    { 0x0af0, 0x2720 },
	    { 0x04a4, 0x3001 },
	    { 0x04a1, 0x3002 },
	    { 0x04a2, 0x300c },
	    { 0x04a3, 0x300d },
	    { 0x04de, 0x309b },
	    { 0x04df, 0x309c },
	    { 0x04a7, 0x30a1 },
	    { 0x04b1, 0x30a2 },
	    { 0x04a8, 0x30a3 },
	    { 0x04b2, 0x30a4 },
	    { 0x04a9, 0x30a5 },
	    { 0x04b3, 0x30a6 },
	    { 0x04aa, 0x30a7 },
	    { 0x04b4, 0x30a8 },
	    { 0x04ab, 0x30a9 },
	    { 0x04b5, 0x30aa },
	    { 0x04b6, 0x30ab },
	    { 0x04b7, 0x30ad },
	    { 0x04b8, 0x30af },
	    { 0x04b9, 0x30b1 },
	    { 0x04ba, 0x30b3 },
	    { 0x04bb, 0x30b5 },
	    { 0x04bc, 0x30b7 },
	    { 0x04bd, 0x30b9 },
	    { 0x04be, 0x30bb },
	    { 0x04bf, 0x30bd },
	    { 0x04c0, 0x30bf },
	    { 0x04c1, 0x30c1 },
	    { 0x04af, 0x30c3 },
	    { 0x04c2, 0x30c4 },
	    { 0x04c3, 0x30c6 },
	    { 0x04c4, 0x30c8 },
	    { 0x04c5, 0x30ca },
	    { 0x04c6, 0x30cb },
	    { 0x04c7, 0x30cc },
	    { 0x04c8, 0x30cd },
	    { 0x04c9, 0x30ce },
	    { 0x04ca, 0x30cf },
	    { 0x04cb, 0x30d2 },
	    { 0x04cc, 0x30d5 },
	    { 0x04cd, 0x30d8 },
	    { 0x04ce, 0x30db },
	    { 0x04cf, 0x30de },
	    { 0x04d0, 0x30df },
	    { 0x04d1, 0x30e0 },
	    { 0x04d2, 0x30e1 },
	    { 0x04d3, 0x30e2 },
	    { 0x04ac, 0x30e3 },
	    { 0x04d4, 0x30e4 },
	    { 0x04ad, 0x30e5 },
	    { 0x04d5, 0x30e6 },
	    { 0x04ae, 0x30e7 },
	    { 0x04d6, 0x30e8 },
	    { 0x04d7, 0x30e9 },
	    { 0x04d8, 0x30ea },
	    { 0x04d9, 0x30eb },
	    { 0x04da, 0x30ec },
	    { 0x04db, 0x30ed },
	    { 0x04dc, 0x30ef },
	    { 0x04a6, 0x30f2 },
	    { 0x04dd, 0x30f3 },
	    { 0x04a5, 0x30fb },
	    { 0x04b0, 0x30fc },
	    { 0x0ea1, 0x3131 },
	    { 0x0ea2, 0x3132 },
	    { 0x0ea3, 0x3133 },
	    { 0x0ea4, 0x3134 },
	    { 0x0ea5, 0x3135 },
	    { 0x0ea6, 0x3136 },
	    { 0x0ea7, 0x3137 },
	    { 0x0ea8, 0x3138 },
	    { 0x0ea9, 0x3139 },
	    { 0x0eaa, 0x313a },
	    { 0x0eab, 0x313b },
	    { 0x0eac, 0x313c },
	    { 0x0ead, 0x313d },
	    { 0x0eae, 0x313e },
	    { 0x0eaf, 0x313f },
	    { 0x0eb0, 0x3140 },
	    { 0x0eb1, 0x3141 },
	    { 0x0eb2, 0x3142 },
	    { 0x0eb3, 0x3143 },
	    { 0x0eb4, 0x3144 },
	    { 0x0eb5, 0x3145 },
	    { 0x0eb6, 0x3146 },
	    { 0x0eb7, 0x3147 },
	    { 0x0eb8, 0x3148 },
	    { 0x0eb9, 0x3149 },
	    { 0x0eba, 0x314a },
	    { 0x0ebb, 0x314b },
	    { 0x0ebc, 0x314c },
	    { 0x0ebd, 0x314d },
	    { 0x0ebe, 0x314e },
	    { 0x0ebf, 0x314f },
	    { 0x0ec0, 0x3150 },
	    { 0x0ec1, 0x3151 },
	    { 0x0ec2, 0x3152 },
	    { 0x0ec3, 0x3153 },
	    { 0x0ec4, 0x3154 },
	    { 0x0ec5, 0x3155 },
	    { 0x0ec6, 0x3156 },
	    { 0x0ec7, 0x3157 },
	    { 0x0ec8, 0x3158 },
	    { 0x0ec9, 0x3159 },
	    { 0x0eca, 0x315a },
	    { 0x0ecb, 0x315b },
	    { 0x0ecc, 0x315c },
	    { 0x0ecd, 0x315d },
	    { 0x0ece, 0x315e },
	    { 0x0ecf, 0x315f },
	    { 0x0ed0, 0x3160 },
	    { 0x0ed1, 0x3161 },
	    { 0x0ed2, 0x3162 },
	    { 0x0ed3, 0x3163 },
	    { 0x0eef, 0x316d },
	    { 0x0ef0, 0x3171 },
	    { 0x0ef1, 0x3178 },
	    { 0x0ef2, 0x317f },
	    { 0x0ef3, 0x3181 },
	    { 0x0ef4, 0x3184 },
	    { 0x0ef5, 0x3186 },
	    { 0x0ef6, 0x318d },
	    { 0x0ef7, 0x318e }
	};
	const TInt KKeysymTableSize=743;
};

/**
* CConnection application class.
*/
class CConnection : public CMsgHandler
{
protected: // Constructors and destructor
	/**
    * ConstructL
    * 2nd phase constructor.
    */
    void ConstructL();
    
    /**
    * ~CConnection
    * Virtual Destructor.
    */
    virtual ~CConnection();

public: // Constructors
    /**
    * CConnection.
    * C++ default constructor.
    */
    CConnection();
    
public:	// class methods
	inline void SetServerName(TDesC& aName) {iServerName.Copy(aName);}
	
	inline void SetStreams(InStream* aIS,OutStream* aOS) {iIS=aIS; iOS=aOS;}
	
	inline void InitSecTypes() {iNSecTypes=0;}
	
	void AddSecTypeL(TSecType aSecType);
	
	inline void SetShared(TBool aShared) {iShared=aShared;}
	
	inline void SetProtocol3_3(TBool aB) {iUseProtocol3_3=aB;}
	
	void InitialiseProtocol();
	
	void ProcessMsg();
	
	virtual MSecurity* GetSecurity(TSecType aSecType)=0;
	
	inline MSecurity* GetCurrentSecurity() {return iSecurity;}
	
	void AuthSuccess();
	
	virtual void ServerInit()=0;
	
	inline CMsgReader* GetReader() {return iMsgReader;}
	
	inline CMsgWriter* GetWriter() {return iMsgWriter;}
	
	inline InStream* GetInStream() {return iIS;}
	
	inline OutStream* GetOutStream() {return iOS;}
	
	inline TRfbState GetState() {return iRfbState;}
	
	inline void SetState(TRfbState aState) {iRfbState=aState;}
	
	void ProcessVersionMsg();
	
	void ProcessSecurityTypesMsg();
	
	void ProcessSecurityMsg();
	
	void ProcessSecurityResultMsg();
	
	void ProcessInitMsg();

	virtual void ConnError(const TDesC8& aError)=0;
	
	void ThrowAuthFailureException();
	
	void ThrowConnFailedException();
	
	void SecurityCompleted();
	
	static TInt TranslateUnicodeToKeysym(TInt aUnicode);
    
protected:	// member variables
	InStream* iIS;
	OutStream* iOS;
	
	TBool iShared;
	
	MSecurity* iSecurity; 

	TInt iNSecTypes;
	TSecType iSecTypes[KMaxSecTypes];
	
	TRfbState iRfbState;
	
	TBuf<50> iServerName;
	
	TBool iUseProtocol3_3;
	
	TBool iClientSecTypeOrder;
	
	CMsgReader* iMsgReader;
	CMsgWriter* iMsgWriter;
};

#endif // __CONNECTION_H__


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -