home *** CD-ROM | disk | FTP | other *** search
/ ftp.swcp.com / ftp.swcp.com.zip / ftp.swcp.com / mac / mozilla-macos9-1.3.1.sea.bin / Mozilla1.3.1 / Components / mdn-service.js < prev    next >
Text File  |  2003-06-08  |  4KB  |  116 lines

  1. /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2.  * The contents of this file are subject to the Mozilla Public
  3.  * License Version 1.1 (the "License"); you may not use this file
  4.  * except in compliance with the License. You may obtain a copy of
  5.  * the License at http://www.mozilla.org/MPL/
  6.  * 
  7.  * Software distributed under the License is distributed on an "AS
  8.  * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  9.  * implied. See the License for the specific language governing
  10.  * rights and limitations under the License.
  11.  * 
  12.  * The Original Code is mozilla.org code.
  13.  * 
  14.  * The Initial Developer of the Original Code is Netscape
  15.  * Communications Corporation.  Portions created by Netscape are
  16.  * Copyright (C) 1999 Netscape Communications Corporation.  All
  17.  * Rights Reserved.
  18.  * 
  19.  * Contributor(s): 
  20.  * Seth Spitzer <sspitzer@netscape.com>
  21.  */
  22.  
  23.  
  24. /* components defined in this file */
  25. const MDN_EXTENSION_SERVICE_CONTRACTID =
  26.     "@mozilla.org/accounmanager/extension;1?name=mdn";
  27. const MDN_EXTENSION_SERVICE_CID =
  28.     Components.ID("{e007d92e-1dd1-11b2-a61e-dc962c9b8571}");
  29.  
  30. /* interafces used in this file */
  31. const nsIMsgAccountManagerExtension  = Components.interfaces.nsIMsgAccountManagerExtension;
  32. const nsICategoryManager = Components.interfaces.nsICategoryManager;
  33. const nsISupports        = Components.interfaces.nsISupports;
  34.  
  35. function MDNService()
  36. {}
  37.  
  38. MDNService.prototype.name = "mdn";
  39. MDNService.prototype.showPanel =
  40.  
  41. function (server)
  42.  
  43. {
  44.   // don't show the panel for news accounts
  45.   return (server.type != "nntp");
  46. }
  47.  
  48. /* factory for command line handler service (MDNService) */
  49. var MDNFactory = new Object();
  50.  
  51. MDNFactory.createInstance =
  52. function (outer, iid) {
  53.   if (outer != null)
  54.     throw Components.results.NS_ERROR_NO_AGGREGATION;
  55.  
  56.   if (!iid.equals(nsIMsgAccountManagerExtension) && !iid.equals(nsISupports))
  57.     throw Components.results.NS_ERROR_INVALID_ARG;
  58.  
  59.   return new MDNService();
  60. }
  61.  
  62.  
  63. var MDNModule = new Object();
  64.  
  65. MDNModule.registerSelf =
  66. function (compMgr, fileSpec, location, type)
  67. {
  68.   debug("*** Registering mdn account manager extension.\n");
  69.   compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
  70.   compMgr.registerFactoryLocation(MDN_EXTENSION_SERVICE_CID,
  71.                                   "MDN Account Manager Extension Service",
  72.                                   MDN_EXTENSION_SERVICE_CONTRACTID, 
  73.                                   fileSpec,
  74.                                   location, 
  75.                                   type);
  76.   catman = Components.classes["@mozilla.org/categorymanager;1"].getService(nsICategoryManager);
  77.   catman.addCategoryEntry("mailnews-accountmanager-extensions",
  78.                             "mdn account manager extension",
  79.                             MDN_EXTENSION_SERVICE_CONTRACTID, true, true);
  80. }
  81.  
  82. MDNModule.unregisterSelf =
  83. function(compMgr, fileSpec, location)
  84. {
  85.   compMgr = compMgr.QueryInterface(Components.interfaces.nsIComponentRegistrar);
  86.   compMgr.unregisterFactoryLocation(MDN_EXTENSION_SERVICE_CID, fileSpec);
  87.   catman = Components.classes["@mozilla.org/categorymanager;1"].getService(nsICategoryManager);
  88.   catman.deleteCategoryEntry("mailnews-accountmanager-extensions",
  89.                              MDN_EXTENSION_SERVICE_CONTRACTID, true);
  90. }
  91.  
  92. MDNModule.getClassObject =
  93. function (compMgr, cid, iid) {
  94.   if (cid.equals(MDN_EXTENSION_SERVICE_CID))
  95.     return MDNFactory;
  96.  
  97.  
  98.   if (!iid.equals(Components.interfaces.nsIFactory))
  99.     throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
  100.  
  101.   throw Components.results.NS_ERROR_NO_INTERFACE;    
  102. }
  103.  
  104. MDNModule.canUnload =
  105. function(compMgr)
  106. {
  107.   return true;
  108. }
  109.  
  110. /* entrypoint */
  111. function NSGetModule(compMgr, fileSpec) {
  112.   return MDNModule;
  113. }
  114.  
  115.  
  116.