1 // Copyright (c) 1996 James Clark
2 // See the file COPYING for copying permission.
3 #pragma ident	"%Z%%M%	%I%	%E% SMI"
4 
5 #ifndef Win32CodingSystem_INCLUDED
6 #define Win32CodingSystem_INCLUDED 1
7 
8 #ifdef __GNUG__
9 #pragma interface
10 #endif
11 
12 #include "CodingSystem.h"
13 #include "Boolean.h"
14 
15 #ifdef SP_NAMESPACE
16 namespace SP_NAMESPACE {
17 #endif
18 
19 class SP_API Win32CodingSystem : public CodingSystem {
20 public:
21   enum SpecialCodePage {
22     codePageOEM,
23     codePageAnsi
24     };
25   Win32CodingSystem(unsigned int codePage, Char defaultChar = 0xfffd);
26   Win32CodingSystem(SpecialCodePage, Char defaultChar = 0xfffd);
27   Boolean isValid() const;
28   Decoder *makeDecoder() const;
29   Encoder *makeEncoder() const;
30 private:
31   unsigned int codePage_;
32   Char defaultChar_;
33 };
34 
35 #ifdef SP_NAMESPACE
36 }
37 #endif
38 
39 #endif /* not Win32CodingSystem_INCLUDED */
40