/* -*- 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/. */

/*
    Interface for importing settings.  Settings can be auto-located or
  specified by a specific file.  Depends upon the app that the settings
  are coming from.

*/

#include "nsISupports.idl"

interface nsIMsgAccount;
interface nsIFile;

[scriptable, uuid(1c0e3012-bc4d-4fb2-be6a-0335c7bab9ac)]
interface nsIImportSettings : nsISupports
{
  boolean    AutoLocate( out wstring description, out nsIFile location);

  void    SetLocation( in nsIFile location);

  /*
    Create all of the accounts, identities, and servers.  Return an
    account where any local mail from this app should be imported.
    The returned account can be null which indicates that no suitable
    account for local mail was created and a new account specifically for
    the imported mail should be created.
  */
  boolean    Import( out nsIMsgAccount localMailAccount);
};



%{ C++

%}
