summaryrefslogtreecommitdiffstats
path: root/widget/nsIFormatConverter.idl
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--widget/nsIFormatConverter.idl50
1 files changed, 50 insertions, 0 deletions
diff --git a/widget/nsIFormatConverter.idl b/widget/nsIFormatConverter.idl
new file mode 100644
index 0000000000..0d72f49d2a
--- /dev/null
+++ b/widget/nsIFormatConverter.idl
@@ -0,0 +1,50 @@
+/* -*- 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"
+
+[scriptable, uuid(948A0023-E3A7-11d2-96CF-0060B0FB9956)]
+interface nsIFormatConverter : nsISupports
+{
+ /**
+ * Get the list of the "input" data flavors (mime types as nsISupportsCString),
+ * in otherwords, the flavors that this converter can convert "from" (the
+ * incoming data to the converter).
+ */
+ Array<ACString> getInputDataFlavors ( ) ;
+
+ /**
+ * Get the list of the "output" data flavors (mime types as nsISupportsCString),
+ * in otherwords, the flavors that this converter can convert "to" (the
+ * outgoing data to the converter).
+ *
+ * @param aDataFlavorList fills list with supported flavors
+ */
+ Array<ACString> getOutputDataFlavors ( ) ;
+
+ /**
+ * Determines whether a conversion from one flavor to another is supported
+ *
+ * @param aFromFormatConverter flavor to convert from
+ * @param aFromFormatConverter flavor to convert to
+ */
+ boolean canConvert ( in string aFromDataFlavor, in string aToDataFlavor ) ;
+
+ /**
+ * Converts from one flavor to another.
+ *
+ * @param aFromFormatConverter flavor to convert from
+ * @param aFromFormatConverter flavor to convert to (destination own the memory)
+ * @returns returns NS_OK if it was converted
+ */
+ void convert ( in string aFromDataFlavor, in nsISupports aFromData,
+ in string aToDataFlavor, out nsISupports aToData ) ;
+
+};
+
+
+%{ C++
+
+%}