mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
53 lines
1.8 KiB
Plaintext
53 lines
1.8 KiB
Plaintext
/* -*- 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"
|
|
#include "nsISupportsArray.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).
|
|
*/
|
|
nsISupportsArray 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
|
|
*/
|
|
nsISupportsArray 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 unsigned long aDataLen,
|
|
in string aToDataFlavor, out nsISupports aToData, out unsigned long aDataToLen ) ;
|
|
|
|
};
|
|
|
|
|
|
%{ C++
|
|
|
|
%}
|