зеркало из https://github.com/mozilla/gecko-dev.git
46 строки
1.3 KiB
JavaScript
46 строки
1.3 KiB
JavaScript
function displayAccounts() {
|
|
|
|
dump("Here come the accounts: \n");
|
|
|
|
var msg = Components.classes["component://netscape/messenger/services/session"].getService(Components.interfaces.nsIMsgMailSession);
|
|
|
|
var am = msg.accountManager;
|
|
// describe(am, "AccountManager");
|
|
var servers = am.allServers;
|
|
arrayDescribe(servers, Components.interfaces.nsIMsgIncomingServer, "Server");
|
|
|
|
var identities = am.allIdentities;
|
|
arrayDescribe(identities,
|
|
Components.interfaces.nsIMsgIdentity,
|
|
"Identity", describeIdentity);
|
|
|
|
var accounts = am.accounts;
|
|
arrayDescribe(accounts, Components.interfaces.nsIMsgAccount, "Account");
|
|
|
|
}
|
|
|
|
|
|
function arrayDescribe(array, iface, name, describeCallback) {
|
|
dump("There are " + array.Count() + " " + name + "(s).\n");
|
|
for (var i=0; i<array.Count(); i++) {
|
|
var obj = array.GetElementAt(i).QueryInterface(iface);
|
|
dump(name + " #" + i + ":\n");
|
|
describe(obj, "\t" + name);
|
|
if (describeCallback) describeCallback(obj);
|
|
}
|
|
}
|
|
|
|
function describe(object, name) {
|
|
for (var i in object) {
|
|
var value = object[i];
|
|
if (typeof(object[i]) == "function")
|
|
value = "[function]";
|
|
|
|
dump(name + "." + i + " = " + value + "\n");
|
|
}
|
|
}
|
|
|
|
function describeIdentity(identity) {
|
|
dump("Additional Identity Info\n");
|
|
}
|