2004-11-21 Casper S. Hornstrup <chorns@users.sourceforge.net>
[reactos.git] / reactos / apps / utils / net / telnet / src / tcharmap.h
1 // This is a simple class to handle character maps
2 // (Paul Brannan 6/25/98)
3
4 #ifndef __TCHARMAP_H
5 #define __TCHARMAP_H
6
7 class TCharmap {
8 private:
9 char *map[256];
10 char *current_map;
11 public:
12 TCharmap();
13 ~TCharmap();
14
15 void init() {}
16
17 char translate(char c, char mapchar) {
18 if(map[(unsigned char)mapchar]) return map[(unsigned char)mapchar][(unsigned char)c];
19 return c;
20 }
21 char translate(char c) {
22 return current_map[(unsigned char)c];
23 }
24
25 void setmap(char mapchar) {
26 if(map[(unsigned char)mapchar]) current_map = map[(unsigned char)mapchar];
27 }
28
29 void translate_buffer(char *start, char *end) {
30 while(start < end) {
31 *start = translate(*start);
32 start++;
33 }
34 }
35
36 void modmap(char pos, char mapchar, char c);
37
38 int enabled;
39 };
40
41 #endif