File indexing completed on 2024-04-28 03:53:02

0001 /*  -*- C++ -*-
0002     SPDX-FileCopyrightText: 1998 Netscape Communications Corporation <developer@mozilla.org>
0003 
0004     SPDX-License-Identifier: MIT
0005 */
0006 
0007 #ifndef CHINESEGROUPPROBER_H
0008 #define CHINESEGROUPPROBER_H
0009 
0010 #include "nsCharSetProber.h"
0011 
0012 #define CN_NUM_OF_PROBERS 3
0013 namespace kencodingprober
0014 {
0015 class KCODECS_NO_EXPORT ChineseGroupProber : public nsCharSetProber
0016 {
0017 public:
0018     ChineseGroupProber();
0019     ~ChineseGroupProber() override;
0020     nsProbingState HandleData(const char *aBuf, unsigned int aLen) override;
0021     const char *GetCharSetName() override;
0022     nsProbingState GetState(void) override
0023     {
0024         return mState;
0025     }
0026     void Reset(void) override;
0027     float GetConfidence(void) override;
0028     void SetOpion() override
0029     {
0030     }
0031 
0032 #ifdef DEBUG_PROBE
0033     void DumpStatus() override;
0034 #endif
0035 
0036 protected:
0037     nsProbingState mState;
0038     nsCharSetProber *mProbers[CN_NUM_OF_PROBERS];
0039     bool mIsActive[CN_NUM_OF_PROBERS];
0040     int mBestGuess;
0041     unsigned int mActiveNum;
0042 };
0043 }
0044 #endif /* CHINESEGROUPPROBER_H */