blob: 2f3b39895caab35989ebb837a511000958abbe27 [file] [log] [blame]
/*
* Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
var fs = require('fs'),
path = require('path'),
os = require('os'),
childProcess = require('child_process'),
AUTHOR_P12 = "author.p12",
BBIDTOKEN = "bbidtoken.csk",
CSK = "barsigner.csk",
DB = "barsigner.db",
_self;
function getDefaultPath(file) {
// The default location where signing key files are stored will vary based on the OS:
// Windows XP: %USERPROFILE%\Local Settings\Application Data\Research In Motion
// Windows Vista and Windows 7: %USERPROFILE%\AppData\Local\Research In Motion
// Mac OS: ~/Library/Research In Motion
// UNIX or Linux: ~/.rim
var p = "";
if (os.type().toLowerCase().indexOf("windows") >= 0) {
p = process.env.LOCALAPPDATA === undefined ?
/* ...-XP */
process.env.USERPROFILE + "\\Local Settings\\Application Data" :
/* Vista+ */
process.env.LOCALAPPDATA;
p += "\\Research In Motion\\";
} else if (os.type().toLowerCase().indexOf("darwin") >= 0) {
// Try Mac OS location
p = process.env.HOME + "/Library/Research In Motion/";
} else if (os.type().toLowerCase().indexOf("linux") >= 0) {
// Try Linux location
p = process.env.HOME + "/.rim/";
}
return p + file;
}
function getDefaultPathIfExists(file) {
var p = getDefaultPath(file);
if (fs.existsSync(p)) {
return p;
}
}
_self = {
getDefaultPath: getDefaultPath,
getKeyStorePath : function () {
// Todo: decide where to put sigtool.p12 which is generated and used in WebWorks SDK for Tablet OS
return getDefaultPathIfExists(AUTHOR_P12);
},
getKeyStorePathBBID: function () {
return getDefaultPathIfExists(BBIDTOKEN);
},
getCskPath : function () {
return getDefaultPathIfExists(CSK);
},
getDbPath : function () {
return getDefaultPathIfExists(DB);
}
};
module.exports = _self;