nsScriptableUConv.h (1057B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef __nsScriptableUConv_h_ 7 #define __nsScriptableUConv_h_ 8 9 #include "nsIScriptableUConv.h" 10 #include "nsCOMPtr.h" 11 #include "mozilla/Encoding.h" 12 13 class nsScriptableUnicodeConverter : public nsIScriptableUnicodeConverter { 14 public: 15 NS_DECL_ISUPPORTS 16 NS_DECL_NSISCRIPTABLEUNICODECONVERTER 17 18 nsScriptableUnicodeConverter(); 19 20 protected: 21 virtual ~nsScriptableUnicodeConverter(); 22 23 mozilla::UniquePtr<mozilla::Encoder> mEncoder; 24 mozilla::UniquePtr<mozilla::Decoder> mDecoder; 25 bool mIsInternal; 26 27 nsresult FinishWithLength(char** _retval, int32_t* aLength); 28 nsresult ConvertFromUnicodeWithLength(const nsAString& aSrc, int32_t* aOutLen, 29 char** _retval); 30 31 nsresult InitConverter(const nsACString& aCharset); 32 }; 33 34 #endif