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

📄 connection.h

📁 vncviewer_source_1.0
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Lucas Gomez  All Rights Reserved.
 * 
 * This is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this software; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
 * USA.
 */

#ifndef __CONNECTION_H__
#define __CONNECTION_H__

// INCLUDES
#include "MsgHandler.h"
#include "MsgReader.h"
#include "MsgWriter.h"
#include "Security.h"

// ENUMERATIONS
enum TRfbState
{
	ERfbStateUninitialised = 0,
	ERfbStateProtocolVersion = 1,
	ERfbStateSecurityTypes = 2,
	ERfbStateSecurity = 3,
	ERfbStateSecurity_Result = 4,
	ERfbStateInitialisation = 5,
	ERfbStateNormal = 6,
	ERfbStateInvalid = 7
};

enum TSecType
{
	ESecTypeInvalid = 0,
	ESecTypeNone    = 1,
	ESecTypeVncAuth = 2,

	ESecTypeRA2     = 5,
	ESecTypeRA2ne   = 6,

	ESecTypeTight   = 16,
	ESecTypeUltra   = 17,
	ESecTypeTLS     = 18,
};

// CONSTANTS
const TInt KMaxSecTypes=8;
const TInt KResultOK=0;
const TInt KResultFailed=1;
const TInt KResultTooMany=2;	// Deprecated

namespace Keysyms
{
	const TInt KKeysymBackSpace = 0xFF08;
	const TInt KKeysymTab = 0xFF09;
	const TInt KKeysymLinefeed = 0xFF0A;
	const TInt KKeysymClear = 0xFF0B;
	const TInt KKeysymReturn = 0xFF0D;
	const TInt KKeysymPause = 0xFF13;
	const TInt KKeysymScroll_Lock = 0xFF14;
	const TInt KKeysymSys_Req = 0xFF15;
	const TInt KKeysymEscape = 0xFF1B;
	const TInt KKeysymDelete = 0xFFFF;

	const TInt KKeysymHome = 0xFF50;
	const TInt KKeysymLeft = 0xFF51;
	const TInt KKeysymUp = 0xFF52;
	const TInt KKeysymRight = 0xFF53;
	const TInt KKeysymDown = 0xFF54;
	const TInt KKeysymPrior = 0xFF55;
	const TInt KKeysymPage_Up = 0xFF55;
	const TInt KKeysymNext = 0xFF56;
	const TInt KKeysymPage_Down = 0xFF56;
	const TInt KKeysymEnd = 0xFF57;
	const TInt KKeysymBegin = 0xFF58;

	const TInt KKeysymSelect = 0xFF60;
	const TInt KKeysymPrint = 0xFF61;
	const TInt KKeysymExecute = 0xFF62;
	const TInt KKeysymInsert = 0xFF63;
	const TInt KKeysymUndo = 0xFF65;
	const TInt KKeysymRedo = 0xFF66;
	const TInt KKeysymMenu = 0xFF67;
	const TInt KKeysymFind = 0xFF68;
	const TInt KKeysymCancel = 0xFF69;
	const TInt KKeysymHelp = 0xFF6A;
	const TInt KKeysymBreak = 0xFF6B;
	const TInt KKeysymMode_switch = 0xFF7E;
	const TInt KKeysymScript_switch = 0xFF7E;
	const TInt KKeysymNum_Lock = 0xFF7F;

	const TInt KKeysymF1 = 0xFFBE;
	const TInt KKeysymF2 = 0xFFBF;
	const TInt KKeysymF3 = 0xFFC0;
	const TInt KKeysymF4 = 0xFFC1;
	const TInt KKeysymF5 = 0xFFC2;
	const TInt KKeysymF6 = 0xFFC3;
	const TInt KKeysymF7 = 0xFFC4;
	const TInt KKeysymF8 = 0xFFC5;
	const TInt KKeysymF9 = 0xFFC6;
	const TInt KKeysymF10 = 0xFFC7;
	const TInt KKeysymF11 = 0xFFC8;
	const TInt KKeysymF12 = 0xFFC9;

	const TInt KKeysymShift_L = 0xFFE1;
	const TInt KKeysymShift_R = 0xFFE2;
	const TInt KKeysymControl_L = 0xFFE3;
	const TInt KKeysymControl_R = 0xFFE4;
	const TInt KKeysymMeta_L = 0xFFE7;
	const TInt KKeysymMeta_R = 0xFFE8;
	const TInt KKeysymAlt_L = 0xFFE9;
	const TInt KKeysymAlt_R = 0xFFEA;
	
	const TUint8 KKeysymTable[][2] =
	{
	    { 0x03c0, 0x0100 },
	    { 0x03e0, 0x0101 },
	    { 0x01c3, 0x0102 },
	    { 0x01e3, 0x0103 },
	    { 0x01a1, 0x0104 },
	    { 0x01b1, 0x0105 },
	    { 0x01c6, 0x0106 },
	    { 0x01e6, 0x0107 },
	    { 0x02c6, 0x0108 },
	    { 0x02e6, 0x0109 },
	    { 0x02c5, 0x010a },
	    { 0x02e5, 0x010b },
	    { 0x01c8, 0x010c },
	    { 0x01e8, 0x010d },
	    { 0x01cf, 0x010e },
	    { 0x01ef, 0x010f },
	    { 0x01d0, 0x0110 },
	    { 0x01f0, 0x0111 },
	    { 0x03aa, 0x0112 },
	    { 0x03ba, 0x0113 },
	    { 0x03cc, 0x0116 },
	    { 0x03ec, 0x0117 },
	    { 0x01ca, 0x0118 },
	    { 0x01ea, 0x0119 },
	    { 0x01cc, 0x011a },
	    { 0x01ec, 0x011b },
	    { 0x02d8, 0x011c },
	    { 0x02f8, 0x011d },
	    { 0x02ab, 0x011e },
	    { 0x02bb, 0x011f },
	    { 0x02d5, 0x0120 },
	    { 0x02f5, 0x0121 },
	    { 0x03ab, 0x0122 },
	    { 0x03bb, 0x0123 },
	    { 0x02a6, 0x0124 },
	    { 0x02b6, 0x0125 },
	    { 0x02a1, 0x0126 },
	    { 0x02b1, 0x0127 },
	    { 0x03a5, 0x0128 },
	    { 0x03b5, 0x0129 },
	    { 0x03cf, 0x012a },
	    { 0x03ef, 0x012b },
	    { 0x03c7, 0x012e },
	    { 0x03e7, 0x012f },
	    { 0x02a9, 0x0130 },
	    { 0x02b9, 0x0131 },
	    { 0x02ac, 0x0134 },
	    { 0x02bc, 0x0135 },
	    { 0x03d3, 0x0136 },
	    { 0x03f3, 0x0137 },
	    { 0x03a2, 0x0138 },
	    { 0x01c5, 0x0139 },
	    { 0x01e5, 0x013a },
	    { 0x03a6, 0x013b },
	    { 0x03b6, 0x013c },
	    { 0x01a5, 0x013d },
	    { 0x01b5, 0x013e },
	    { 0x01a3, 0x0141 },
	    { 0x01b3, 0x0142 },
	    { 0x01d1, 0x0143 },
	    { 0x01f1, 0x0144 },
	    { 0x03d1, 0x0145 },
	    { 0x03f1, 0x0146 },
	    { 0x01d2, 0x0147 },
	    { 0x01f2, 0x0148 },
	    { 0x03bd, 0x014a },
	    { 0x03bf, 0x014b },
	    { 0x03d2, 0x014c },
	    { 0x03f2, 0x014d },
	    { 0x01d5, 0x0150 },
	    { 0x01f5, 0x0151 },
	    { 0x13bc, 0x0152 },
	    { 0x13bd, 0x0153 },
	    { 0x01c0, 0x0154 },
	    { 0x01e0, 0x0155 },
	    { 0x03a3, 0x0156 },
	    { 0x03b3, 0x0157 },
	    { 0x01d8, 0x0158 },
	    { 0x01f8, 0x0159 },
	    { 0x01a6, 0x015a },
	    { 0x01b6, 0x015b },
	    { 0x02de, 0x015c },
	    { 0x02fe, 0x015d },
	    { 0x01aa, 0x015e },
	    { 0x01ba, 0x015f },
	    { 0x01a9, 0x0160 },
	    { 0x01b9, 0x0161 },
	    { 0x01de, 0x0162 },
	    { 0x01fe, 0x0163 },
	    { 0x01ab, 0x0164 },
	    { 0x01bb, 0x0165 },
	    { 0x03ac, 0x0166 },
	    { 0x03bc, 0x0167 },
	    { 0x03dd, 0x0168 },
	    { 0x03fd, 0x0169 },
	    { 0x03de, 0x016a },
	    { 0x03fe, 0x016b },
	    { 0x02dd, 0x016c },
	    { 0x02fd, 0x016d },
	    { 0x01d9, 0x016e },
	    { 0x01f9, 0x016f },
	    { 0x01db, 0x0170 },
	    { 0x01fb, 0x0171 },
	    { 0x03d9, 0x0172 },
	    { 0x03f9, 0x0173 },
	    { 0x13be, 0x0178 },
	    { 0x01ac, 0x0179 },
	    { 0x01bc, 0x017a },
	    { 0x01af, 0x017b },
	    { 0x01bf, 0x017c },
	    { 0x01ae, 0x017d },
	    { 0x01be, 0x017e },
	    { 0x08f6, 0x0192 },
	    { 0x01b7, 0x02c7 },
	    { 0x01a2, 0x02d8 },
	    { 0x01ff, 0x02d9 },
	    { 0x01b2, 0x02db },
	    { 0x01bd, 0x02dd },
	    { 0x07ae, 0x0385 },
	    { 0x07a1, 0x0386 },
	    { 0x07a2, 0x0388 },
	    { 0x07a3, 0x0389 },
	    { 0x07a4, 0x038a },
	    { 0x07a7, 0x038c },
	    { 0x07a8, 0x038e },
	    { 0x07ab, 0x038f },
	    { 0x07b6, 0x0390 },
	    { 0x07c1, 0x0391 },
	    { 0x07c2, 0x0392 },
	    { 0x07c3, 0x0393 },
	    { 0x07c4, 0x0394 },
	    { 0x07c5, 0x0395 },
	    { 0x07c6, 0x0396 },
	    { 0x07c7, 0x0397 },
	    { 0x07c8, 0x0398 },
	    { 0x07c9, 0x0399 },
	    { 0x07ca, 0x039a },
	    { 0x07cb, 0x039b },
	    { 0x07cc, 0x039c },
	    { 0x07cd, 0x039d },
	    { 0x07ce, 0x039e },
	    { 0x07cf, 0x039f },
	    { 0x07d0, 0x03a0 },
	    { 0x07d1, 0x03a1 },
	    { 0x07d2, 0x03a3 },
	    { 0x07d4, 0x03a4 },
	    { 0x07d5, 0x03a5 },
	    { 0x07d6, 0x03a6 },
	    { 0x07d7, 0x03a7 },
	    { 0x07d8, 0x03a8 },
	    { 0x07d9, 0x03a9 },
	    { 0x07a5, 0x03aa },
	    { 0x07a9, 0x03ab },
	    { 0x07b1, 0x03ac },
	    { 0x07b2, 0x03ad },
	    { 0x07b3, 0x03ae },
	    { 0x07b4, 0x03af },
	    { 0x07ba, 0x03b0 },
	    { 0x07e1, 0x03b1 },
	    { 0x07e2, 0x03b2 },
	    { 0x07e3, 0x03b3 },
	    { 0x07e4, 0x03b4 },
	    { 0x07e5, 0x03b5 },
	    { 0x07e6, 0x03b6 },
	    { 0x07e7, 0x03b7 },
	    { 0x07e8, 0x03b8 },
	    { 0x07e9, 0x03b9 },
	    { 0x07ea, 0x03ba },
	    { 0x07eb, 0x03bb },
	    { 0x07ec, 0x03bc },
	    { 0x07ed, 0x03bd },
	    { 0x07ee, 0x03be },
	    { 0x07ef, 0x03bf },
	    { 0x07f0, 0x03c0 },
	    { 0x07f1, 0x03c1 },
	    { 0x07f3, 0x03c2 },
	    { 0x07f2, 0x03c3 },
	    { 0x07f4, 0x03c4 },
	    { 0x07f5, 0x03c5 },
	    { 0x07f6, 0x03c6 },
	    { 0x07f7, 0x03c7 },
	    { 0x07f8, 0x03c8 },
	    { 0x07f9, 0x03c9 },
	    { 0x07b5, 0x03ca },
	    { 0x07b9, 0x03cb },
	    { 0x07b7, 0x03cc },
	    { 0x07b8, 0x03cd },
	    { 0x07bb, 0x03ce },
	    { 0x06b3, 0x0401 },
	    { 0x06b1, 0x0402 },
	    { 0x06b2, 0x0403 },
	    { 0x06b4, 0x0404 },
	    { 0x06b5, 0x0405 },
	    { 0x06b6, 0x0406 },
	    { 0x06b7, 0x0407 },
	    { 0x06b8, 0x0408 },
	    { 0x06b9, 0x0409 },
	    { 0x06ba, 0x040a },
	    { 0x06bb, 0x040b },
	    { 0x06bc, 0x040c },
	    { 0x06be, 0x040e },
	    { 0x06bf, 0x040f },
	    { 0x06e1, 0x0410 },
	    { 0x06e2, 0x0411 },
	    { 0x06f7, 0x0412 },
	    { 0x06e7, 0x0413 },
	    { 0x06e4, 0x0414 },
	    { 0x06e5, 0x0415 },
	    { 0x06f6, 0x0416 },
	    { 0x06fa, 0x0417 },
	    { 0x06e9, 0x0418 },
	    { 0x06ea, 0x0419 },
	    { 0x06eb, 0x041a },
	    { 0x06ec, 0x041b },
	    { 0x06ed, 0x041c },
	    { 0x06ee, 0x041d },
	    { 0x06ef, 0x041e },
	    { 0x06f0, 0x041f },
	    { 0x06f2, 0x0420 },
	    { 0x06f3, 0x0421 },
	    { 0x06f4, 0x0422 },
	    { 0x06f5, 0x0423 },
	    { 0x06e6, 0x0424 },
	    { 0x06e8, 0x0425 },
	    { 0x06e3, 0x0426 },
	    { 0x06fe, 0x0427 },
	    { 0x06fb, 0x0428 },
	    { 0x06fd, 0x0429 },
	    { 0x06ff, 0x042a },
	    { 0x06f9, 0x042b },
	    { 0x06f8, 0x042c },
	    { 0x06fc, 0x042d },
	    { 0x06e0, 0x042e },
	    { 0x06f1, 0x042f },
	    { 0x06c1, 0x0430 },
	    { 0x06c2, 0x0431 },
	    { 0x06d7, 0x0432 },
	    { 0x06c7, 0x0433 },
	    { 0x06c4, 0x0434 },
	    { 0x06c5, 0x0435 },
	    { 0x06d6, 0x0436 },
	    { 0x06da, 0x0437 },
	    { 0x06c9, 0x0438 },
	    { 0x06ca, 0x0439 },
	    { 0x06cb, 0x043a },
	    { 0x06cc, 0x043b },
	    { 0x06cd, 0x043c },
	    { 0x06ce, 0x043d },
	    { 0x06cf, 0x043e },
	    { 0x06d0, 0x043f },
	    { 0x06d2, 0x0440 },
	    { 0x06d3, 0x0441 },
	    { 0x06d4, 0x0442 },
	    { 0x06d5, 0x0443 },
	    { 0x06c6, 0x0444 },
	    { 0x06c8, 0x0445 },
	    { 0x06c3, 0x0446 },
	    { 0x06de, 0x0447 },
	    { 0x06db, 0x0448 },
	    { 0x06dd, 0x0449 },
	    { 0x06df, 0x044a },
	    { 0x06d9, 0x044b },
	    { 0x06d8, 0x044c },
	    { 0x06dc, 0x044d },
	    { 0x06c0, 0x044e },
	    { 0x06d1, 0x044f },
	    { 0x06a3, 0x0451 },
	    { 0x06a1, 0x0452 },
	    { 0x06a2, 0x0453 },
	    { 0x06a4, 0x0454 },
	    { 0x06a5, 0x0455 },
	    { 0x06a6, 0x0456 },
	    { 0x06a7, 0x0457 },
	    { 0x06a8, 0x0458 },
	    { 0x06a9, 0x0459 },
	    { 0x06aa, 0x045a },
	    { 0x06ab, 0x045b },
	    { 0x06ac, 0x045c },
	    { 0x06ae, 0x045e },
	    { 0x06af, 0x045f },
	    { 0x0ce0, 0x05d0 },
	    { 0x0ce1, 0x05d1 },
	    { 0x0ce2, 0x05d2 },
	    { 0x0ce3, 0x05d3 },
	    { 0x0ce4, 0x05d4 },
	    { 0x0ce5, 0x05d5 },
	    { 0x0ce6, 0x05d6 },
	    { 0x0ce7, 0x05d7 },
	    { 0x0ce8, 0x05d8 },
	    { 0x0ce9, 0x05d9 },
	    { 0x0cea, 0x05da },
	    { 0x0ceb, 0x05db },
	    { 0x0cec, 0x05dc },
	    { 0x0ced, 0x05dd },
	    { 0x0cee, 0x05de },
	    { 0x0cef, 0x05df },
	    { 0x0cf0, 0x05e0 },
	    { 0x0cf1, 0x05e1 },
	    { 0x0cf2, 0x05e2 },
	    { 0x0cf3, 0x05e3 },
	    { 0x0cf4, 0x05e4 },
	    { 0x0cf5, 0x05e5 },
	    { 0x0cf6, 0x05e6 },
	    { 0x0cf7, 0x05e7 },
	    { 0x0cf8, 0x05e8 },
	    { 0x0cf9, 0x05e9 },
	    { 0x0cfa, 0x05ea },
	    { 0x05ac, 0x060c },
	    { 0x05bb, 0x061b },
	    { 0x05bf, 0x061f },
	    { 0x05c1, 0x0621 },
	    { 0x05c2, 0x0622 },
	    { 0x05c3, 0x0623 },
	    { 0x05c4, 0x0624 },
	    { 0x05c5, 0x0625 },
	    { 0x05c6, 0x0626 },
	    { 0x05c7, 0x0627 },
	    { 0x05c8, 0x0628 },
	    { 0x05c9, 0x0629 },
	    { 0x05ca, 0x062a },
	    { 0x05cb, 0x062b },
	    { 0x05cc, 0x062c },
	    { 0x05cd, 0x062d },
	    { 0x05ce, 0x062e },
	    { 0x05cf, 0x062f },
	    { 0x05d0, 0x0630 },
	    { 0x05d1, 0x0631 },
	    { 0x05d2, 0x0632 },
	    { 0x05d3, 0x0633 },
	    { 0x05d4, 0x0634 },
	    { 0x05d5, 0x0635 },
	    { 0x05d6, 0x0636 },
	    { 0x05d7, 0x0637 },
	    { 0x05d8, 0x0638 },
	    { 0x05d9, 0x0639 },
	    { 0x05da, 0x063a },
	    { 0x05e0, 0x0640 },
	    { 0x05e1, 0x0641 },
	    { 0x05e2, 0x0642 },
	    { 0x05e3, 0x0643 },
	    { 0x05e4, 0x0644 },
	    { 0x05e5, 0x0645 },
	    { 0x05e6, 0x0646 },
	    { 0x05e7, 0x0647 },
	    { 0x05e8, 0x0648 },
	    { 0x05e9, 0x0649 },
	    { 0x05ea, 0x064a },
	    { 0x05eb, 0x064b },
	    { 0x05ec, 0x064c },
	    { 0x05ed, 0x064d },
	    { 0x05ee, 0x064e },
	    { 0x05ef, 0x064f },
	    { 0x05f0, 0x0650 },
	    { 0x05f1, 0x0651 },
	    { 0x05f2, 0x0652 },
	    { 0x0da1, 0x0e01 },
	    { 0x0da2, 0x0e02 },
	    { 0x0da3, 0x0e03 },
	    { 0x0da4, 0x0e04 },
	    { 0x0da5, 0x0e05 },
	    { 0x0da6, 0x0e06 },
	    { 0x0da7, 0x0e07 },
	    { 0x0da8, 0x0e08 },
	    { 0x0da9, 0x0e09 },
	    { 0x0daa, 0x0e0a },
	    { 0x0dab, 0x0e0b },

⌨️ 快捷键说明

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