Revert r46466 this time for real
[reactos.git] / base / applications / network / telnet / src / tcharmap.h
1 // This is a simple class to handle character maps
2 // (Paul Brannan 6/25/98)
3
4 #pragma once
5
6 class TCharmap {
7 private:
8 char *map[256];
9 char *current_map;
10 public:
11 TCharmap();
12 ~TCharmap();
13
14 void init() {}
15
16 char translate(char c, char mapchar) {
17 if(map[(unsigned char)mapchar]) return map[(unsigned char)mapchar][(unsigned char)c];
18 return c;
19 }
20 char translate(char c) {
21 return current_map[(unsigned char)c];
22 }
23
24 void setmap(char mapchar) {
25 if(map[(unsigned char)mapchar]) current_map = map[(unsigned char)mapchar];
26 }
27
28 void translate_buffer(char *start, char *end) {
29 while(start < end) {
30 *start = translate(*start);
31 start++;
32 }
33 }
34
35 void modmap(char pos, char mapchar, char c);
36
37 int enabled;
38 };