home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 112
/
FreelogNo112-NovembreDecembre2012.iso
/
Programmation
/
RJ_TextEd
/
RJ_TextEd_Portable.exe
/
components
/
nsHandlerService.js
< prev
Wrap
Text File
|
2010-01-01
|
5KB
|
144 lines
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* 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 Mozilla browser.
*
* The Initial Developer of the Original Code is Mozilla.
* Portions created by the Initial Developer are Copyright (C) 2007
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Myk Melez <myk@mozilla.org>
* Dan Mosedale <dmose@mozilla.org>
* Florian Queze <florian@queze.net>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
const Ci = Components.interfaces;
const Cc = Components.classes;
const Cu = Components.utils;
const Cr = Components.results;
const CLASS_MIMEINFO = "mimetype";
const CLASS_PROTOCOLINFO = "scheme";
// namespace prefix
const NC_NS = "http://home.netscape.com/NC-rdf#";
// the most recent default handlers that have been injected. Note that
// this is used to construct an RDF resource, which needs to have NC_NS
// prepended, since that hasn't been done yet
const DEFAULT_HANDLERS_VERSION = "defaultHandlersVersion";
// type list properties
const NC_MIME_TYPES = NC_NS + "MIME-types";
const NC_PROTOCOL_SCHEMES = NC_NS + "Protocol-Schemes";
// content type ("type") properties
// nsIHandlerInfo::type
const NC_VALUE = NC_NS + "value";
const NC_DESCRIPTION = NC_NS + "description";
// additional extensions
const NC_FILE_EXTENSIONS = NC_NS + "fileExtensions";
// references nsIHandlerInfo record
const NC_HANDLER_INFO = NC_NS + "handlerProp";
// handler info ("info") properties
// nsIHandlerInfo::preferredAction
const NC_SAVE_TO_DISK = NC_NS + "saveToDisk";
const NC_HANDLE_INTERNALLY = NC_NS + "handleInternal";
const NC_USE_SYSTEM_DEFAULT = NC_NS + "useSystemDefault";
// nsIHandlerInfo::alwaysAskBeforeHandling
const NC_ALWAYS_ASK = NC_NS + "alwaysAsk";
// references nsIHandlerApp records
const NC_PREFERRED_APP = NC_NS + "externalApplication";
const NC_POSSIBLE_APP = NC_NS + "possibleApplication";
// handler app ("handler") properties
// nsIHandlerApp::name
const NC_PRETTY_NAME = NC_NS + "prettyName";
// nsILocalHandlerApp::executable
const NC_PATH = NC_NS + "path";
// nsIWebHandlerApp::uriTemplate
const NC_URI_TEMPLATE = NC_NS + "uriTemplate";
// nsIDBusHandlerApp::service
const NC_SERVICE = NC_NS + "service";
// nsIDBusHandlerApp::method
const NC_METHOD = NC_NS + "method";
// nsIDBusHandlerApp::objectPath
const NC_OBJPATH = NC_NS + "objectPath";
// nsIDBusHandlerApp::dbusInterface
const NC_INTERFACE = NC_NS + "dBusInterface";
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
function HandlerService() {
this._init();
}
const HandlerServiceFactory = {
_instance: null,
createInstance: function (outer, iid) {
if (this._instance)
return this._instance;
let processType = Cc["@mozilla.org/xre/runtime;1"].
getService(Ci.nsIXULRuntime).processType;
if (processType != Ci.nsIXULRuntime.PROCESS_TYPE_DEFAULT)
return Cr.NS_ERROR_NOT_IMPLEMENTED;
return (this._instance = new HandlerService());
}
};
HandlerService.prototype = {
//**************************************************************************//
// XPCOM Plumbing
classID: Components.ID("{32314cc8-22f7-4f7f-a645-1a45453ba6a6}"),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIHandlerService]),
_xpcom_factory: HandlerServiceFactory,
//**************************************************************************//
// Initialization & Destruction
_init: function HS_