📄 connection.h
字号:
/* 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 + -