home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Mozilla Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is The JavaScript Debugger
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation
- * Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation.
- *
- * Alternatively, the contents of this file may be used under the
- * terms of the GNU Public License (the "GPL"), in which case the
- * provisions of the GPL are applicable instead of those above.
- * If you wish to allow use of your version of this file only
- * under the terms of the GPL and not to allow others to use your
- * version of this file under the MPL, indicate your decision by
- * deleting the provisions above and replace them with the notice
- * and other provisions required by the GPL. If you do not delete
- * the provisions above, a recipient may use your version of this
- * file under either the MPL or the GPL.
- *
- * Contributor(s):
- * Robert Ginda, <rginda@netscape.com>, original author
- *
- */
-
- /* components defined in this file */
- const CLINE_SERVICE_CTRID =
- "@mozilla.org/commandlinehandler/general-startup;1?type=venkman";
- const CATMAN_CTRID = "@mozilla.org/categorymanager;1";
- const CLINE_SERVICE_CID =
- Components.ID("{18269616-1dd2-11b2-afa8-b612439bda27}");
-
- const nsICmdLineHandler = Components.interfaces.nsICmdLineHandler;
- const nsICategoryManager = Components.interfaces.nsICategoryManager;
- const nsISupports = Components.interfaces.nsISupports;
-
- /* Command Line handler service */
- function CLineService()
- {}
-
- CLineService.prototype.commandLineArgument = "-venkman";
- CLineService.prototype.prefNameForStartup = "general.startup.venkman";
- CLineService.prototype.chromeUrlForTask="chrome://venkman/content";
- CLineService.prototype.helpText = "Start with JavaScript debugger";
- CLineService.prototype.handlesArgs=false;
- CLineService.prototype.defaultArgs ="";
- CLineService.prototype.openWindowWithArgs=false;
-
- /* factory for command line handler service (CLineService) */
- var CLineFactory = new Object();
-
- CLineFactory.createInstance =
- function (outer, iid) {
- if (outer != null)
- throw Components.results.NS_ERROR_NO_AGGREGATION;
-
- if (!iid.equals(nsICmdLineHandler) && !iid.equals(nsISupports))
- throw Components.results.NS_ERROR_INVALID_ARG;
-
- return new CLineService();
- }
-
- var Module = new Object();
-
- Module.registerSelf =
- function (compMgr, fileSpec, location, type)
- {
- dump("*** Registering -venkman handler.\n");
- compMgr.registerComponentWithType(CLINE_SERVICE_CID,
- "Venkman CommandLine Service",
- CLINE_SERVICE_CTRID, fileSpec,
- location, true, true, type);
-
- catman = Components.classes[CATMAN_CTRID].getService(nsICategoryManager);
- catman.addCategoryEntry("command-line-argument-handlers",
- "venkman command line handler",
- CLINE_SERVICE_CTRID, true, true);
-
- }
-
- Module.unregisterSelf =
- function(compMgr, fileSpec, location)
- {
- compMgr.unregisterComponentSpec(CLINE_SERVICE_CID, fileSpec);
- catman = Components.classes[CATMAN_CTRID].getService(nsICategoryManager);
- catman.deleteCategoryEntry("command-line-argument-handlers",
- CLINE_SERVICE_CTRID, true);
- }
-
- Module.getClassObject =
- function (compMgr, cid, iid) {
- if (cid.equals(CLINE_SERVICE_CID))
- return CLineFactory;
-
- if (cid.equals(IRCCNT_HANDLER_CID))
- return IRCContentHandlerFactory;
-
- if (cid.equals(IRCPROT_HANDLER_CID))
- return IRCProtocolHandlerFactory;
-
- if (!iid.equals(Components.interfaces.nsIFactory))
- throw Components.results.NS_ERROR_NOT_IMPLEMENTED;
-
- throw Components.results.NS_ERROR_NO_INTERFACE;
-
- }
-
- Module.canUnload =
- function(compMgr)
- {
- return true;
- }
-
- /* entrypoint */
- function NSGetModule(compMgr, fileSpec) {
- return Module;
- }
-