summaryrefslogtreecommitdiffstats
path: root/intl/uconv/nsIScriptableUConv.idl
diff options
context:
space:
mode:
Diffstat (limited to 'intl/uconv/nsIScriptableUConv.idl')
-rw-r--r--intl/uconv/nsIScriptableUConv.idl83
1 files changed, 83 insertions, 0 deletions
diff --git a/intl/uconv/nsIScriptableUConv.idl b/intl/uconv/nsIScriptableUConv.idl
new file mode 100644
index 000000000..23e49da2e
--- /dev/null
+++ b/intl/uconv/nsIScriptableUConv.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface nsIInputStream;
+
+%{C++
+// {0A698C44-3BFF-11d4-9649-00C0CA135B4E}
+#define NS_ISCRIPTABLEUNICODECONVERTER_CID { 0x0A698C44, 0x3BFF, 0x11d4, { 0x96, 0x49, 0x00, 0xC0, 0xCA, 0x13, 0x5B, 0x4E } }
+#define NS_ISCRIPTABLEUNICODECONVERTER_CONTRACTID "@mozilla.org/intl/scriptableunicodeconverter"
+%}
+
+/**
+ * This interface is a unicode encoder for use by scripts
+ *
+ * @created 8/Jun/2000
+ * @author Makoto Kato [m_kato@ga2.so-net.ne.jp]
+ */
+[scriptable, uuid(f36ee324-5c1c-437f-ba10-2b4db7a18031)]
+interface nsIScriptableUnicodeConverter : nsISupports
+{
+ /**
+ * Converts the data from Unicode to one Charset.
+ * Returns the converted string. After converting, Finish should be called
+ * and its return value appended to this return value.
+ */
+ ACString ConvertFromUnicode(in AString aSrc);
+
+ /**
+ * Returns the terminator string.
+ * Should be called after ConvertFromUnicode() and appended to that
+ * function's return value.
+ */
+ ACString Finish();
+
+ /**
+ * Converts the data from one Charset to Unicode.
+ */
+ AString ConvertToUnicode(in ACString aSrc);
+
+ /**
+ * Converts an array of bytes to a unicode string.
+ */
+ AString convertFromByteArray([const,array,size_is(aCount)] in octet aData,
+ in unsigned long aCount);
+
+ /**
+ * Convert a unicode string to an array of bytes. Finish does not need to be
+ * called.
+ */
+ void convertToByteArray(in AString aString,
+ [optional] out unsigned long aLen,
+ [array, size_is(aLen),retval] out octet aData);
+
+ /**
+ * Converts a unicode string to an input stream. The bytes in the stream are
+ * encoded according to the charset attribute.
+ * The returned stream will be nonblocking.
+ */
+ nsIInputStream convertToInputStream(in AString aString);
+
+ /**
+ * Current character set.
+ *
+ * @throw NS_ERROR_UCONV_NOCONV
+ * The requested charset is not supported.
+ */
+ attribute string charset;
+
+ /**
+ * Internal use
+ *
+ * When this attribute is set, all encodings may be accessed. Alias
+ * resolution is not performed for non-Encoding Standard encodings.
+ * MailNews callers should perform alias resolution first (e.g. using
+ * nsICharsetConverterManager::getCharsetAlias()) and use the result
+ * with this API.
+ */
+ attribute boolean isInternal;
+};