add the base .rbuild files
[reactos.git] / reactos / apps / utils / net / telnet / src / keytrans.cpp
diff --git a/reactos/apps/utils/net/telnet/src/keytrans.cpp b/reactos/apps/utils/net/telnet/src/keytrans.cpp
deleted file mode 100644 (file)
index 518b962..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//Telnet Win32 : an ANSI telnet client.
-//Copyright (C) 1998-2000 Paul Brannan
-//Copyright (C) 1998 I.Ioannou
-//Copyright (C) 1997 Brad Johnson
-//
-//This program 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 program 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 program; if not, write to the Free Software
-//Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-//
-//I.Ioannou
-//roryt@hol.gr
-//
-///////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////
-//      Key translations - I.Ioannou (roryt@hol.gr)              //
-//          Athens - Greece    December 18, 1996 02:56am         //
-//          Reads a .cfg file and keeps the definitions          //
-//      modified for alternate keymap swiching                   //
-//          by Andrey V. Smilianets (smile@head.aval.kiev.ua)    //
-//          Kiev - Ukraine, December 1997.                       //
-//      modified to work with MSVC and the Standard Template     //
-//          library by Paul Brannan <pbranna@clemson.edu>,       //
-//          May 25, 1998                                         //
-//      updated June 7, 1998 by Paul Brannan to remove cout and  //
-//          cerr statements                                      //
-//      APP_KEY and APP2_Key added July 12, 1998 by Paul Brannan //
-///////////////////////////////////////////////////////////////////
-//                class KeyTranslator                            //
-//  Load          : loads or replaces the keymap                 //
-//  TranslateKey  : returns a char * to the key def              //
-//  AddKeyDef     : Changes or adds the key translation          //
-//  DeleteKeyDef  : Deletes a key def from the list              //
-///////////////////////////////////////////////////////////////////
-
-#include <windows.h>
-
-// changed to make work with VC++ (Paul Brannan 5/25/98)
-// FIX ME !!! Ioannou:  This must be __BORLANDC__ && VERSION < 5
-// but what is the directive for Borland version ????
-// FIXED Sept. 31, 2000 (Bernard Badger)
-//
-#if defined(__BORLANDC__) && (__BORLANDC < 0x0500)
-#include <mem.h>
-#else
-#include <memory.h>
-#endif
-
-#include "keytrans.h"
-#include "tnerror.h"
-
-/////////////////////////////////////////////////////////////
-//                class KeyTranslator                      //
-//  Load          : loads or replaces the keymap           //
-//  TranslateKey  : returns a sz to the key def            //
-//  AddKeyDef     : Changes or adds the key translation    //
-//  DeleteKeyDef  : Deletes a key def from the list        //
-/////////////////////////////////////////////////////////////
-
-
-KeyTranslator::KeyTranslator():
-mapArray(0,0,sizeof(KeyMap)),
-globals(0,0,sizeof(TKeyDef)) {
-       ext_mode = 0;                   // Paul Brannan 8/28/98
-       currentKeyMap = mainKeyMap = -1;
-};
-
-//AVS
-// perform keymap switching
-int KeyTranslator::switchMap(TKeyDef& tk) {
-    if ( mapArray.IsEmpty() ) {
-               return currentKeyMap = -1;
-    };
-    int i = mapArray.Find(KeyMap(tk));
-    if ( i != INT_MAX ) {
-               if (currentKeyMap == i)
-            currentKeyMap = mainKeyMap; // restore to default
-               else currentKeyMap = i;
-               return 1;
-    };
-    return 0;
-};
-
-// Let the calling function interpret the error code (Paul Brannan 12/17/98)
-int KeyTranslator::SwitchTo(int to) {
-       
-    int max = mapArray.GetItemsInContainer();
-    if (max == 0) return -1;
-    if (to < 0 || to > (max-1)) return 0;
-       
-    currentKeyMap = to;
-    return 1;
-};
-
-//AVS
-// rewrited to support multiple keymaps
-const char *KeyTranslator::TranslateKey(WORD wVirtualKeyCode,
-                                                                                         DWORD dwControlKeyState)
-{
-       if ( mapArray.IsEmpty() ) return NULL;
-       
-       TKeyDef ask(NULL, dwControlKeyState, wVirtualKeyCode);
-       
-       // if a keymap switch pressed
-       if ( switchMap(ask) > 0 ) return "";
-       
-       int i = mapArray[currentKeyMap].map.Find(ask);
-       
-       if ( i != INT_MAX) return mapArray[currentKeyMap].map[i].GetszKey();
-       
-       // if not found in current keymap
-       if ( currentKeyMap != mainKeyMap ) {
-               i = mapArray[mainKeyMap].map.Find(ask);
-               if ( i != INT_MAX)  return mapArray[mainKeyMap].map[i].GetszKey();
-       };
-       return NULL;
-};
-
-
-//AVS
-// rewrited to support multiple keymaps
-int KeyTranslator::AddKeyDef(WORD wVirtualKeyCode, DWORD dwControlKeyState,
-                             char*lpzKeyDef)
-{
-       if ( ! mapArray[currentKeyMap].map.IsEmpty() ) {
-               int i = mapArray[currentKeyMap].map.Find(TKeyDef(NULL, dwControlKeyState, wVirtualKeyCode));
-               if ( i != INT_MAX) {
-                       mapArray[currentKeyMap].map[i] = lpzKeyDef;
-                       return 1;
-               }
-       };
-       return mapArray[currentKeyMap].map.Add( TKeyDef(lpzKeyDef, dwControlKeyState, wVirtualKeyCode));
-}
-
-// Paul Brannan Feb. 22, 1999
-int KeyTranslator::AddKeyDef(WORD wVirtualKeyCode, DWORD dwControlKeyState,
-                             tn_ops the_op)
-{
-       optype op;
-       op.sendstr = 0;
-       op.the_op = the_op;
-       if ( ! mapArray[currentKeyMap].map.IsEmpty() ) {
-               int i = mapArray[currentKeyMap].map.Find(TKeyDef(NULL, dwControlKeyState, wVirtualKeyCode));
-               if ( i != INT_MAX) {
-                       mapArray[currentKeyMap].map[i] = op;
-                       return 1;
-               }
-       };
-       return mapArray[currentKeyMap].map.Add( TKeyDef(op, dwControlKeyState, wVirtualKeyCode));
-}
-
-// AVS
-int KeyTranslator::LookOnGlobal(char* vkey) {
-    if ( ! globals.IsEmpty() ) {
-               int max = globals.GetItemsInContainer();
-               for ( int i = 0; i < max ; i++ )
-                       if ( stricmp(globals[i].GetszKey(), vkey) == 0 )
-                               return i;
-    };
-    return INT_MAX;
-};
-
-int KeyTranslator::AddGlobalDef(WORD wVirtualKeyCode, char*lpzKeyDef) {
-       if ( ! globals.IsEmpty() ) {
-               int max = globals.GetItemsInContainer();
-               for ( int i = 0; i < max ; i++ ) {
-                       const char *s = globals[i].GetszKey();
-                       if ( stricmp(s, lpzKeyDef) == 0 ) {
-                               globals[i] = DWORD(wVirtualKeyCode);
-                               return 1;
-                       }
-               }
-       }
-       return globals.Add( TKeyDef(lpzKeyDef, 0, wVirtualKeyCode));
-}
-
-
-//AVS
-// rewrited to support multiple keymaps
-int KeyTranslator::DeleteKeyDef(WORD wVirtualKeyCode, DWORD dwControlKeyState)
-{
-       if ( mapArray.IsEmpty() || mapArray[currentKeyMap].map.IsEmpty() )
-               return 0;
-       
-       int i = mapArray[currentKeyMap].map.Find(TKeyDef(NULL, dwControlKeyState, wVirtualKeyCode));
-       
-       if ( i != INT_MAX) {
-               mapArray[currentKeyMap].map.Destroy(i);
-               return 1;
-       };
-       return 0;
-};
-
-//AVS
-// rewritten to support multiple keymaps
-void KeyTranslator::DeleteAllDefs(void)
-{
-       // This code wants to crash under the STL; Apparently the Destroy()
-       // function actually deletes the entry, rather than simply releasing
-       // memory.  I think flush() should do the same thing, at least the
-       // way it is written with STL_BIDS (Paul Brannan 5/25/98).
-       int max;
-       
-       max = mapArray.GetItemsInContainer();
-       if ( ! mapArray.IsEmpty() ) {
-               for ( int i = 0; i < max; i++ ) {
-                       if ( !mapArray[i].map.IsEmpty() ) {
-                               mapArray[i].map.Flush();
-                       };
-               };
-       };
-       globals.Flush();
-       mapArray.Flush();
-       currentKeyMap = -1;
-       mainKeyMap    = -1;
-};