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