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

/**
 * This interface provides support for registering Mozilla as a COM component
 * for extending the use of Mail/News through Simple MAPI.
 * 
 */

[noscript, uuid(2907B676-C4BD-49af-880A-E27A0616291E)]
interface nsIMapiSupport : nsISupports {

   /** Initiates MAPI support
    */

   void initializeMAPISupport();

   /**  Shuts down the MAPI support
    */

   void shutdownMAPISupport();

   /**  registerServer - register the mapi DLL with the desktop
    *   Typically called by the window shell service when we are
    *   made the default mail app
    */
   void registerServer();
   
   /**  unRegisterServer - unregister the mapi DLL with the desktop
    *   Typically called by the window shell service when we are
    *   removed as the default mail app.
    */   
   void unRegisterServer();
};

%{C++
#define NS_IMAPISUPPORT_CONTRACTID    "@mozilla.org/mapisupport;1"
#define NS_IMAPISUPPORT_CLASSNAME     "Mozilla MAPI Support"
%}