home *** CD-ROM | disk | FTP | other *** search
-
- // Various IDL interfaces
- var CachedAimServiceClass = null;
- var CachedAimManager = null;
- var CachedAimSession = null;
- var CachedAimLocateManager = null;
- var CachedAimBuddyManager = null;
- var CachedAimOdirManager = null;
- var CachedAimUserLookupManager = null;
- var CachedAimChatManager = null;
- var CachedAimTalkAgent = null;
- var CachedAimInviteManager = null;
- var CachedAimPrivacy = null;
- var CachedAimIM = null;
- var CachedAimPIM = null;
- var CachedAimAdminManager = null;
- var CachedAimABInfo = null;
- var CachedAimFeedbagManager = null;
- var CachedAimWarnings = null;
- var CachedAimPrefsManager = null;
- var CachedAimStringBundle = null;
- var CachedAimSoundManager = null;
- var CachedAimDataSource = null;
-
- // Various IDL that represent enumerated types
- var CachedAimAuthorizerState = null;
- var CachedAimInsertionStyles = null;
- var CachedAimPrivacyModes = null;
- var CachedAimTalkAudioMode = null;
-
- function aimGetIMManager()
- {
- var IMServiceClass = Components.classes['@netscape.com/aim/IMManager;1'];
- var pIIMManager = IMServiceClass.getService(Components.interfaces.nsIIMManager);
- return pIIMManager;
- }
-
- function aimDataSource()
- {
- try {
- if (CachedAimDataSource == null) {
- var RDFClass = Components.classes["@mozilla.org/rdf/rdf-service;1"];
- var RDF = RDFClass.getService(Components.interfaces.nsIRDFService);
- CachedAimDataSource = RDF.GetDataSource("rdf:AIM");
- }
- } catch (e) {};
-
- return CachedAimDataSource;
- }
-
- function aimServiceClass()
- {
- try {
- if (CachedAimServiceClass == null)
- CachedAimServiceClass = Components.classes['@netscape.com/aim/IMManager;1'];
- } catch (e) {};
-
- return CachedAimServiceClass;
- }
-
- function aimManager()
- {
- try {
- if (CachedAimManager == null)
- CachedAimManager = aimServiceClass().getService(Components.interfaces.nsIIMManager);
- } catch (e) {};
-
- return CachedAimManager;
- }
-
-
- function aimSession()
- {
- try {
- if(CachedAimSession == null)
- CachedAimSession = aimManager().QueryInterface(Components.interfaces.nsIAimSession);
- } catch (e) {};
-
- return CachedAimSession;
- }
-
- function getsidebarframe()
- {
- var frame_list=window.frames;
- if (frame_list.length==0)
- return window;
-
- for (var i=0; i<frame_list.length; i++) {
- if (frame_list[i].location =="chrome://aim/content/Sidebarpanel.xul");
- return frame_list[i];
- }
- return window;
- }
-
- function aimPrivacy()
- {
- try {
- if(CachedAimPrivacy == null)
- CachedAimPrivacy = aimManager().QueryInterface(Components.interfaces.nsIAimPrivacy);
- } catch (e) {};
-
- return CachedAimPrivacy;
- }
-
-
- function aimBuddyManager()
- {
- try {
- if(CachedAimBuddyManager == null)
- CachedAimBuddyManager = aimManager().QueryInterface(Components.interfaces.nsIAimBuddy);
- } catch (e) {};
-
- return CachedAimBuddyManager;
- }
-
-
- function aimLocateManager()
- {
- try {
- if(CachedAimLocateManager == null)
- CachedAimLocateManager = aimManager().QueryInterface(Components.interfaces.nsIAimLocateManager);
- } catch (e) {};
-
- return CachedAimLocateManager;
- }
-
-
- function aimOdirManager()
- {
- try {
- if(CachedAimOdirManager == null)
- CachedAimOdirManager = aimManager().QueryInterface(Components.interfaces.nsIAimOdirManager);
- } catch (e) {};
-
- return CachedAimOdirManager;
- }
-
- function aimUserLookupManager()
- {
- try {
- if(CachedAimUserLookupManager == null)
- CachedAimUserLookupManager = aimManager().QueryInterface(Components.interfaces.nsIAimUserLookupManager);
- } catch (e) {};
-
- return CachedAimUserLookupManager;
- }
-
-
- function aimChatManager()
- {
- try {
- if(CachedAimChatManager == null)
- CachedAimChatManager = aimManager().QueryInterface(Components.interfaces.nsIAimChatManager);
- } catch (e) {};
-
- return CachedAimChatManager;
- }
-
-
- function aimTalkAgent()
- {
- try {
- if(CachedAimTalkAgent == null)
- CachedAimTalkAgent = aimManager().QueryInterface(Components.interfaces.nsIAimTalkAgent);
- } catch (e) {};
-
- return CachedAimTalkAgent;
- }
-
-
- function aimInviteManager()
- {
- try {
- if(CachedAimInviteManager == null)
- CachedAimInviteManager = aimManager().QueryInterface(Components.interfaces.nsIAimInviteManager);
- } catch (e) {};
-
- return CachedAimInviteManager;
- }
-
- function aimSoundManager()
- {
- try {
- if(CachedAimSoundManager == null)
- CachedAimSoundManager = aimManager().QueryInterface(Components.interfaces.nsIAimSoundManager);
- } catch (e) {};
-
- return CachedAimSoundManager;
- }
-
- function aimIM()
- {
- try {
- if(CachedAimIM == null)
- CachedAimIM = aimManager().QueryInterface(Components.interfaces.nsIAimIM);
- } catch (e) {};
-
- return CachedAimIM;
- }
-
-
- function aimAdminManager()
- {
- try {
- if(CachedAimAdminManager == null)
- CachedAimAdminManager = aimManager().QueryInterface(Components.interfaces.nsIAimAdminManager);
- } catch (e) {};
-
- return CachedAimAdminManager;
- }
-
-
- function aimABInfo()
- {
- try {
- if(CachedAimABInfo == null)
- CachedAimABInfo = aimManager().QueryInterface(Components.interfaces.nsIAimABInfo);
- } catch (e) {};
-
- return CachedAimABInfo;
- }
-
-
- function aimFeedbagManager()
- {
- try {
- if(CachedAimFeedbagManager == null)
- CachedAimFeedbagManager = aimManager().QueryInterface(Components.interfaces.nsIAimFeedbagManager);
- } catch (e) {};
-
- return CachedAimFeedbagManager;
- }
-
- function aimWarnings()
- {
- try {
- if(CachedAimWarnings == null)
- CachedAimWarnings = aimManager().QueryInterface(Components.interfaces.nsIAimWarnings);
- } catch (e) {};
-
- return CachedAimWarnings;
- }
-
- function aimPrefsManager()
- {
- try {
- if(CachedAimPrefsManager == null)
- CachedAimPrefsManager = aimManager().QueryInterface(Components.interfaces.nsIPrefsManager);
- } catch (e) {};
-
- return CachedAimPrefsManager;
- }
-
-
- function aimStringBundle()
- {
- try {
- if(CachedAimStringBundle == null)
- CachedAimStringBundle = aimManager().QueryInterface(Components.interfaces.nsIStringBundle);
- } catch (e) {};
-
- return CachedAimStringBundle;
- }
-
- // The various enumerated types/interfaces
-
-
- function aimInsertionStyles()
- {
- try {
- if(CachedAimInsertionStyles == null)
- CachedAimInsertionStyles = Components.interfaces.nsAimInsertionStyles;
- } catch (e) {};
-
- return CachedAimInsertionStyles;
- }
-
-
- function aimPrivacyModes()
- {
- try {
- if(CachedAimPrivacyModes == null)
- CachedAimPrivacyModes = Components.interfaces.nsAimPrivacyModes;
- } catch (e) {};
-
- return CachedAimPrivacyModes;
- }
-
- /********* Use this to know if two formatted screen names are the same *******/
-
- function aimNormalizeScreenName(oldSN)
- {
- return (oldSN.replace(/\s/gi,"")).toLowerCase();
-
- /*
- // remove spaces
- var newSN="";
- newSN = oldSN.replace(/\s/gi,"");
-
- // lower the case
- newSN = newSN.toLowerCase();
-
- return newSN;
- */
- }
-
-
-
- function aimIsShrimp()
- {
- /**
- * aimIsShrimp -- Determine if we are running shrimp or not.
- * Reads aim.app.smallbusiness pref from all-nsnim.j1
- *
- * @author syd 8/8/2000
- * @return <code>true</code> is shrimp is installed, <code>false</code> otherwise.
- */
- var isShrimp = aimPrefsManager().GetBoolPref("aim.app.smallbusiness",null, true);
-
- return isShrimp;
- }
-
- function aimIsSameScreenName(sN1, sN2)
- {
- return (aimNormalizeScreenName(sN1) == aimNormalizeScreenName(sN2))
- }
-
- function aimMigrateBuddyList( who )
- {
- var whoMigrate = aimPrefsManager().GetCharPref("aim.session.migrateBuddyList",null, true);
- if ( !whoMigrate || whoMigrate == null || whoMigrate == undefined || whoMigrate != who ) {
- return;
- }
- dump( "***************MigrateBuddyList who " + who + " whoMigrate " + whoMigrate + "\n" );
- var IMServiceClass;
- var pAimMigrator;
- try {
- IMServiceClass = Components.classes['@netscape.com/aim/AimMigrator;1'];
- if ( IMServiceClass != null ) {
- try {
- pAimMigrator = IMServiceClass.getService(Components.interfaces.nsIAimMigrator);
- if ( pAimMigrator != null ) {
- dump( "****************Got us a migrator, doit!\n" );
- pAimMigrator.AimMigratorMigrateBuddyList( who );
- aimPrefsManager().SetCharPref("aim.session.migrateBuddyList", "nobody", null, true);
- }
- }
- catch ( exception ) {
- // nothing
- }
- }
- }
- catch ( exception ) {
- // nothing
- }
- }
-
- function html(node)
- {
- var answer = "";
- var type = node.nodeType;
- if (type == Node.ELEMENT_NODE) {
-
- // open tag
- //dump("<" + node.tagName)
-
- answer += "<" + node.tagName;
-
- // dump the attributes if any
- attributes = node.attributes;
- if (null != attributes) {
- var countAttrs = attributes.length;
- var index = 0;
- while(index < countAttrs) {
- att = attributes[index];
- if (null != att) {
- answer += " " + att.name + "=\"" + att.value + "\"";
- }
- index++
- }
- }
-
- // close tag
- answer += ">";
-
- // recursively dump the children
- if (node.hasChildNodes()) {
- // get the children
- var children = node.childNodes;
- var length = children.length;
- var count = 0;
- while(count < length) {
- child = children[count]
- answer += html(child)
- count++
- }
- answer += "</" + node.tagName + ">";
- }
-
-
- }
- // if it's a piece of text just dump the text
- else if (type == Node.TEXT_NODE) {
- answer += node.data;
- }
- return answer;
- }
-
- function createInstance( contractid, iidName ) {
- var iid = eval( "Components.interfaces." + iidName );
- return Components.classes[ contractid ].createInstance( iid );
- }
-
- function cmdFileSave()
- {
- var answer;
- var wind = top.frames["LogWnd"];
- if ( wind ) {
- myhead = wind.document.getElementsByTagName("HEAD").item(0);
- if (myhead == null) {
- myhead = wind.document.createElement("HEAD");
- myhtml = wind.document.getElementsByTagName("HTML").item(0);
- myhtml.appendChild(myhead);
- }
- mymeta = wind.document.createElement("META");
- mymeta.setAttribute("HTTP-EQUIV", "Content-Type");
- mymeta.setAttribute("CONTENT", "text/html; charset=UTF-8");
- myhead.appendChild(mymeta);
-
- answer = html(wind.document.documentElement);
- answer += "\n";
- }
- else {
- return;
- }
- try {
- var fp = Components.classes["@mozilla.org/filepicker;1"].createInstance(nsIFilePicker);
- // XXX i18n
- fp.init(window, aimString( "title.saveconversation" ),
- nsIFilePicker.modeSave);
- fp.appendFilters(nsIFilePicker.filterHTML | nsIFilePicker.filterAll );
- var returnCode = fp.show();
- if (returnCode == nsIFilePicker.returnOK || returnCode == nsIFilePicker.returnReplace) {
- dump ("Going to Save: " + fp.file.path + "\n");
- var pPAimIM = aimPIMObject();
- if (pPAimIM) {
- pPAimIM.SaveConversation(fp.file.path, answer);
- }
- }
- } catch (ex) {
- dump("it didnt work for some reason \n");
- }
- }
-
- function aimCmdClose()
- {
- dump("cmdClose\n");
- top.close();
-
- }
-
- function cmdFileClose()
- {
- aimCmdClose();
- }
-
- function cmdFilePrint()
- {
- dump("Implement Menu Command cmdFilePrint()\n");
- top.frames["LogWnd"].print();
- }
-
- function getEnums( myInterface )
- {
- var enums = {};
- for ( var i in myInterface ) {
- if ( typeof myInterface[i] == "number" ) {
- enums[i] = myInterface[i];
- }
- }
- return enums;
- }
-
-
- function
- MigrateDiscover()
- {
- var IMServiceClass;
- var pAimMigrator;
- try {
- IMServiceClass = Components.classes['@netscape.com/aim/AimMigrator;1'];
- if ( IMServiceClass != null ) {
- try {
- pAimMigrator = IMServiceClass.getService(Components.interfaces.nsIAimMigrator);
- if ( pAimMigrator != null ) {
- version = pAimMigrator.AimMigratorDiscover();
- parent.migrationSource = version;
- if ( version == null || version == "" ) {
- return false;
- }
-
- var stringPref = {};
- var stringPref2 = {};
- var enums = getEnums( Components.interfaces.nsIAimMigrator );
- // get the default screen name
-
- var ret = pAimMigrator.AimMigratorGetStringPref2( enums.DefaultScreenName, stringPref, stringPref2 );
-
- if ( ret == true ) {
- parent.migrationScreenName = stringPref.value;
- parent.migrationPassword = stringPref2.value;
- }
- else {
- parent.migrationScreenName = "";
- parent.migrationPassword = "";
- }
-
- // get the remaining screen names, if any
- var stringPrefVec = {};
- var vecSize = {};
- stringPrefVec = pAimMigrator.AimMigratorGetStringVectorPref( enums.ScreenName, vecSize );
-
- var i;
- parent.migrationScreenNameVecSize = vecSize;
- parent.migrationScreenNameVec = stringPrefVec;
-
- return ret; // all we care about is did we get a default screenname
- }
- }
- catch(exception) {
- return false;
- }
- }
- }
- catch(exception) {
- return false;
- }
- }
-
- function AimOnlineAway()
- {
- var RDFClass = Components.classes["@mozilla.org/rdf/rdf-service;1"];
- var RDF = RDFClass.getService(Components.interfaces.nsIRDFService);
- var SessionState = RDF.GetResource("http://home.netscape.com/NC-rdf#OnlineState");
- var dataSource = aimDataSource();
- var AimSession = RDF.GetResource("NC:AIM/Session");
- var session = aimSession();
-
- var target = dataSource.GetTarget(AimSession, SessionState, true);
- var state = target.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
- if ("OnlineAway" == state)
- return true;
- return false;
- }
-
- function ComeBack()
- {
- locateManager = aimLocateManager();
-
- if ( locateManager ) {
- locateManager.SetUserInfoAwayMessage(null);
- }
- }
-
- function AimtoOpenWindowByType( inType, uri )
- {
- dump ("AimtoOpenWindowByType " + uri + " \n");
-
- var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
-
- var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
-
- var topWindow = windowManagerInterface.getMostRecentWindow( inType );
-
- if ( topWindow ) {
- topWindow.focus();
- }
- else
- window.openDialog(uri, "_blank", "chrome,all,dialog=no", "Setup");
- }
-
- function aimGlobalCmdHelp()
- {
- if (aimIsShrimp())
- {
- AimtoOpenWindowByType("help:nim","chrome://communicator/content/help/help_nim.xul");
- }
- else
- {
- AimtoOpenWindowByType("help:im","chrome://help/content/help.xul?im");
- }
- }
-
-
- function AimgoClickThrobber(urlPref)
- {
- if (aimIsShrimp())
- {
- var url;
- try {
- var pref = Components.classes["@mozilla.org/preferences;1"].getService();
- if( pref )
- pref = pref.QueryInterface( Components.interfaces.nsIPref );
- url = pref.getLocalizedUnicharPref(urlPref);
- aimCmdNewBrowser(url);
- }
- catch(e) {
- url = null;
- }
- }
- else
- {
- goClickThrobber( urlPref );
- }
- }
-
- function GetRdfFileUrl(def_name, chg_name)
- {
- var directoryService = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties);
- var userProfile = directoryService.get("ProfD", Components.interfaces.nsIFile);
- var defaultProfile = directoryService.get("profDef", Components.interfaces.nsIFile); // profile defaults
- if (!defaultProfile.exists())
- defaultProfile = directoryService.get("ProfDefNoLoc", Components.interfaces.nsIFile); // profile defaults
- var defaultInviteFile = defaultProfile.clone();
- defaultInviteFile.append(def_name);
- var screenName = "";
- myPref = aimPrefsManager();
- if ( myPref ) {
- try {
- screenName = myPref.GetCharPref( "aim.session.screenname" , null, false);
- }
- catch(e) {
- screenName = "";
- }
- }
- if ( screenName != "" ) {
- screenName = screenName + ".";
- }
- else
- {
- return;
- }
- var InviteListFile = userProfile.clone();
- InviteListFile.append(screenName+chg_name);
- if (!InviteListFile.exists()) {
- try {
- defaultInviteFile.copyTo(userProfile,screenName+chg_name);
- }
- catch (e) {
- dump("error coping" + e + "\n");
- }
- InviteListFile = userProfile.clone();
- InviteListFile.append(screenName+chg_name);
- if (!InviteListFile.exists())
- dump("something is very wrong \n");
- }
- var InviteFileURL = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIFileURL);
- InviteFileURL.file = InviteListFile;
- return( InviteFileURL.spec );
- }
-
-
-