mirror of
https://github.com/ManchildProductions/binoc-central-mirror.git
synced 2026-06-25 13:19:28 +00:00
74 lines
2.3 KiB
JavaScript
74 lines
2.3 KiB
JavaScript
/* 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/. */
|
|
|
|
this.EXPORTED_SYMBOLS = ["Communicator"];
|
|
|
|
Components.utils.import("resource://gre/modules/Services.jsm");
|
|
Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
|
|
|
|
this.Communicator = {
|
|
service: Services,
|
|
xpcom: XPCOMUtils,
|
|
platform:
|
|
#ifdef MOZ_WIDGET_GTK
|
|
"linux",
|
|
#elif XP_WIN
|
|
"win",
|
|
#elif XP_MACOSX
|
|
"macosx",
|
|
#elif MOZ_WIDGET_ANDROID
|
|
"android",
|
|
#elif XP_LINUX
|
|
"linux",
|
|
#else
|
|
"other",
|
|
#endif
|
|
isPlatformAndVersionAtLeast: function(platform, version) {
|
|
let platformVersion = Services.sysinfo.getProperty("version");
|
|
return platform == this.platform &&
|
|
Services.vc.compare(platformVersion, version) >= 0;
|
|
},
|
|
isPlatformAndVersionAtMost: function(platform, version) {
|
|
let platformVersion = Services.sysinfo.getProperty("version");
|
|
return platform == this.platform &&
|
|
Services.vc.compare(platformVersion, version) <= 0;
|
|
},
|
|
showLicenseWindow: function() {
|
|
var eulaDone = null;
|
|
eulaDone = Services.prefs.getBoolPref("app.eula.accepted", false);
|
|
|
|
if (!eulaDone) {
|
|
Services.ww.openWindow(null, "chrome://communicator/content/eula/eula.xul",
|
|
"_blank", "chrome,centerscreen,modal,resizable=no", null);
|
|
}
|
|
},
|
|
readfile: function(aDSDir, aFile) {
|
|
Components.utils.import("resource://gre/modules/FileUtils.jsm");
|
|
Components.utils.import("resource://gre/modules/NetUtil.jsm");
|
|
|
|
var file = FileUtils.getFile(aDSDir, [aFile]);
|
|
|
|
if (!file.exists()) {
|
|
Components.utils.reportError("Communicator.readfile: " + aFile + " does not exist in " + aDSDir);
|
|
return "No Data";
|
|
}
|
|
|
|
var stream = Components.classes["@mozilla.org/network/file-input-stream;1"]
|
|
.createInstance(Components.interfaces.nsIFileInputStream);
|
|
|
|
try {
|
|
stream.init(file, -1, 0, 0);
|
|
var data = NetUtil.readInputStreamToString(stream, stream.available());
|
|
}
|
|
catch (ex) {
|
|
Components.utils.reportError("Communicator.readfile: file stream failure in " + aDSdir + "/" + aFile);
|
|
return "No data";
|
|
}
|
|
|
|
stream.close();
|
|
|
|
return data;
|
|
},
|
|
}
|