michael@0: /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: #ifndef nsIStringCharsetDetector_h__ michael@0: #define nsIStringCharsetDetector_h__ michael@0: michael@0: #include "nsISupports.h" michael@0: #include "nsDetectionConfident.h" michael@0: michael@0: // {12BB8F15-2389-11d3-B3BF-00805F8A6670} michael@0: #define NS_ISTRINGCHARSETDETECTOR_IID \ michael@0: { 0x12bb8f15, 0x2389, 0x11d3, { 0xb3, 0xbf, 0x0, 0x80, 0x5f, 0x8a, 0x66, 0x70 } } michael@0: michael@0: michael@0: #define NS_STRCDETECTOR_CONTRACTID_BASE "@mozilla.org/intl/stringcharsetdetect;1?type=" michael@0: michael@0: /* michael@0: This interface is similar to nsICharsetDetector michael@0: The difference is it is for line base detection instead of block based michael@0: detectection. michael@0: */ michael@0: michael@0: michael@0: class nsIStringCharsetDetector : public nsISupports { michael@0: public: michael@0: michael@0: NS_DECLARE_STATIC_IID_ACCESSOR(NS_ISTRINGCHARSETDETECTOR_IID) michael@0: /* michael@0: Perform the charset detection michael@0: michael@0: aBytesArray- the bytes michael@0: aLen- the length of the bytes michael@0: oCharset- the charset answer michael@0: oConfident - the confidence of the answer michael@0: */ michael@0: NS_IMETHOD DoIt(const char* aBytesArray, uint32_t aLen, michael@0: const char** oCharset, nsDetectionConfident &oConfident) = 0; michael@0: }; michael@0: michael@0: NS_DEFINE_STATIC_IID_ACCESSOR(nsIStringCharsetDetector, michael@0: NS_ISTRINGCHARSETDETECTOR_IID) michael@0: michael@0: #endif /* nsIStringCharsetDetector_h__ */