Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB

  1. #include "convbase.h"
  2. class CInccUTF7In : public CINetCodeConverter
  3. {
  4. private:
  5. BOOL (CInccUTF7In::*m_pfnConv)(UCHAR tc);
  6. BOOL (CInccUTF7In::*m_pfnCleanUp)();
  7. LONG m_tcUnicode ;
  8. BOOL m_fUTF7Mode;
  9. int m_nBitCount;
  10. int m_nOutCount;
  11. public:
  12. CInccUTF7In(UINT uCodePage, int nCodeSet);
  13. ~CInccUTF7In() {}
  14. virtual HRESULT ConvertChar(UCHAR tc, int cchSrc=-1);
  15. virtual BOOL CleanUp();
  16. virtual int GetUnconvertBytes();
  17. virtual DWORD GetConvertMode();
  18. virtual void SetConvertMode(DWORD mode);
  19. private:
  20. void Reset(); // initialization
  21. BOOL ConvMain(UCHAR tc);
  22. BOOL CleanUpMain();
  23. };
  24. class CInccUTF7Out : public CINetCodeConverter
  25. {
  26. private:
  27. BOOL m_fUTF7Mode;
  28. BOOL m_fDoubleByte;
  29. BYTE m_tcFirstByte;
  30. int m_nBitCount;
  31. LONG m_tcUnicode ;
  32. public:
  33. CInccUTF7Out(UINT uCodePage, int nCodeSet);
  34. ~CInccUTF7Out() {}
  35. virtual HRESULT ConvertChar(UCHAR tc, int cchSrc=-1);
  36. virtual BOOL CleanUp();
  37. virtual int GetUnconvertBytes();
  38. virtual DWORD GetConvertMode();
  39. virtual void SetConvertMode(DWORD mode);
  40. private:
  41. void Reset(); // initialization
  42. };