/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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/. */

/*
  Encodes a file from disk into an output stream including properly
  encoded mime headers.
*/

#include "nsISupports.idl"

interface nsIFile;

[noscript, uuid(1d63892f-f660-465c-a550-95d4cb089de4)]
interface nsIImportMimeEncode : nsISupports
{

  void  EncodeFile( in nsIFile inFile, in nsIFile outFile, [const] in string fileName, [const] in string mimeType);

  boolean  DoWork( out boolean done);

  long  NumBytesProcessed();

  boolean  DoEncoding();
  void  Initialize( in nsIFile inFile, in nsIFile outFile, [const] in string fileName, [const] in string mimeType);

};



%{ C++

#define NS_IMPORTMIMEENCODE_CID                      \
{ /* e4a1a340-8de2-11d3-a206-00a0cc26da63 */         \
    0xe4a1a340,                                      \
    0x8de2,                                          \
    0x11d3,                                          \
    {0xa2, 0x06, 0x00, 0xa0, 0xcc, 0x26, 0xda, 0x63} \
}

%}
