1/* -*- C++ -*-
2 SPDX-FileCopyrightText: 1998 Netscape Communications Corporation <developer@mozilla.org>
3
4 SPDX-License-Identifier: MIT
5*/
6
7#ifndef nsMBCSGroupProber_h__
8#define nsMBCSGroupProber_h__
9
10#include "UnicodeGroupProber.h"
11#include "nsBig5Prober.h"
12#include "nsEUCJPProber.h"
13#include "nsEUCKRProber.h"
14#include "nsGB2312Prober.h"
15#include "nsSJISProber.h"
16
17#define NUM_OF_PROBERS 6
18namespace kencodingprober
19{
20class KCODECS_NO_EXPORT nsMBCSGroupProber : public nsCharSetProber
21{
22public:
23 nsMBCSGroupProber();
24 ~nsMBCSGroupProber() override;
25 nsProbingState HandleData(const char *aBuf, unsigned int aLen) override;
26 const char *GetCharSetName() override;
27 nsProbingState GetState(void) override
28 {
29 return mState;
30 }
31 void Reset(void) override;
32 float GetConfidence(void) override;
33 void SetOpion() override
34 {
35 }
36
37#ifdef DEBUG_PROBE
38 void DumpStatus() override;
39#endif
40
41protected:
42 nsProbingState mState;
43 nsCharSetProber *mProbers[NUM_OF_PROBERS];
44 bool mIsActive[NUM_OF_PROBERS];
45 int mBestGuess;
46 unsigned int mActiveNum;
47};
48}
49
50#endif /* nsMBCSGroupProber_h__ */
51

source code of kcodecs/src/probers/nsMBCSGroupProber.h