home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 May / 05_02.iso / software / netscape6 / nim.xpi / bin / chrome / aim.jar / content / aim / AimBuddy.js < prev    next >
Encoding:
JavaScript  |  2001-08-31  |  5.1 KB  |  205 lines

  1. /* XXXVISHY - lets try to keep it all in aimHelpers
  2.  
  3. var allEnums = null;
  4.  
  5. function getEnums( myInterface )
  6. {
  7.     var enums = { };
  8.     for ( var i in myInterface ) {
  9.         if ( typeof myInterface[i] == "number" ) {
  10.             enums[i] = myInterface[i];
  11.         }
  12.     }
  13.     return enums;
  14. }
  15.  
  16. function aimBuddyObject()
  17. {
  18.     var pIIMManager = aimGetIMManager();
  19.     if(pIIMManager)
  20.         return pIIMManager.QueryInterface(Components.interfaces.nsIAimBuddy);
  21.     else
  22.         return null;
  23. }
  24. */
  25.  
  26. function aimBuddyIsOnline(screenName)
  27. {
  28.     var pIAimBuddy = aimBuddyManager();
  29.  
  30.     if ( !screenName || screenName == "" )
  31.         return false;
  32.     if(pIAimBuddy)
  33.         return pIAimBuddy.IsOnline(screenName);
  34. }
  35.  
  36. function aimBuddyAddBuddyGroup(groupName, beforeGroup)
  37. {
  38.     if (beforeGroup == "")
  39.         beforeGroup = null;
  40.  
  41.     dump('AddBuddyGroup: ' + groupName + ', before: ' + beforeGroup + '\n');
  42.  
  43.     var pIAimBuddy = aimBuddyManager();
  44.  
  45.     var isInList = new Object();
  46.  
  47.     pIAimBuddy.GroupIsInList(groupName, isInList);
  48.     if ( isInList.value == true ) {
  49.         aimErrorBox(aimString("msg.GroupAlreadyInList"));
  50.         return 1;
  51.     }
  52.     if ( beforeGroup == "" )
  53.         beforeGroup = null;
  54.     if(pIAimBuddy)
  55.         pIAimBuddy.AddGroup(groupName, beforeGroup);
  56.     return 0;
  57. }
  58.  
  59. function aimBuddyRemoveBuddyGroup(groupName)
  60. {
  61.     dump('RemoveBuddyGroup: ' + groupName + '\n');
  62.  
  63.     var pIAimBuddy = aimBuddyManager();
  64.     if(pIAimBuddy)
  65.         pIAimBuddy.RemoveGroup(groupName);
  66. }
  67.  
  68. function aimBuddyRenameBuddyGroup(oldName, newName)
  69. {
  70.     dump('RenameBuddyGroup: ' + oldName + ' -> ' + newName + '\n');
  71.  
  72.     var pIAimBuddy = aimBuddyManager();
  73.     if(pIAimBuddy)
  74.         pIAimBuddy.RenameGroup(oldName, newName);
  75. }
  76.  
  77. function aimBuddyAddBuddyBefore(groupName, screenName, beforeBuddy)
  78. {
  79.     dump('AddBuddy: ' + groupName + '/' + screenName + ', buddy: ' + beforeBuddy + '\n');
  80.  
  81.     var pIAimBuddy = aimBuddyManager();
  82.     if ( beforeBuddy == "" ) {
  83.         beforeBuddy = null;
  84.     }
  85. /*
  86.     if ( allEnums == null )
  87.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  88. */
  89.     if(pIAimBuddy) {
  90.         var inBudList = new Object();
  91.         pIAimBuddy.BuddyIsInGroup(screenName, groupName, inBudList);
  92.         if ( inBudList.value == true ) {
  93.             var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  94.                 groupName;
  95.             aimErrorBox(msg);
  96.             return 1;
  97.         }
  98.         if (beforeBuddy)
  99.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertBefore);
  100.         else
  101.             pIAimBuddy.AddBuddy(groupName, screenName, beforeBuddy, aimInsertionStyles().InsertEnd);
  102.     }
  103.     return 0;
  104. }
  105.  
  106. function aimBuddyAddBuddyAfter(groupName, screenName, afterBuddy)
  107. {
  108.     dump('AddBuddy: ' + groupName + '/' + screenName + ', after: ' + afterBuddy + '\n');
  109.  
  110.     var pIAimBuddy = aimBuddyManager();
  111.     if ( afterBuddy == "" ) {
  112.         afterBuddy = null;
  113.     }
  114. /*
  115.     if ( allEnums == null ) 
  116.         allEnums = getEnums( Components.interfaces.nsAimInsertionStyles );
  117. */
  118.     if(pIAimBuddy) {
  119.         var inBudList = new Object();
  120.         pIAimBuddy.BuddyIsInGroup(screenName, groupName, inBudList);
  121.         if ( inBudList.value == true ) {
  122. //            var msg = aimString("msg.BuddyAlreadyInGroup") + " " +
  123. //                groupName;
  124. //            aimErrorBox(msg);
  125.             return 1;
  126.         }
  127.         if (afterBuddy)
  128.             pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertAfter);
  129.         else
  130.             pIAimBuddy.AddBuddy(groupName, screenName, afterBuddy, aimInsertionStyles().InsertEnd);
  131.     }
  132.     return 0;
  133. }
  134.  
  135. function aimBuddyRemoveBuddy(groupName, screenName)
  136. {
  137.     dump('RemoveBuddy: ' + groupName + '/' + screenName + '\n');
  138.  
  139.     var pIAimBuddy = aimBuddyManager();
  140.     if(pIAimBuddy)
  141.         pIAimBuddy.RemoveBuddy(groupName, screenName);
  142. }
  143.  
  144. function aimBuddyMoveGroup(group, beforeGroup)
  145. {
  146.     dump('MoveGroup: ' + group + ' -> ' + beforeGroup + '\n');
  147.  
  148.     var pIAimBuddy = aimBuddyManager();
  149.     if(pIAimBuddy)
  150.         pIAimBuddy.MoveGroup(group, beforeGroup);
  151. }
  152.  
  153. function aimBuddyMoveBuddy(group, buddy, beforeGroup, beforeBuddy)
  154. {
  155.     dump('MoveBuddy: ' + group + '/' + buddy + ' -> ' + beforeGroup + '/' + beforeBuddy + '\n');
  156.  
  157.     var pIAimBuddy = aimBuddyManager();
  158.     if(pIAimBuddy)
  159.         pIAimBuddy.MoveBuddy(group, buddy, beforeGroup, beforeBuddy);
  160. }
  161.  
  162. // false means failure
  163.  
  164. function aimBuddyImportBuddyList(fileSpec)
  165. {
  166.     var myStatus = new Object();
  167.     var mask = new Object();
  168.     var pIAimBuddy = aimBuddyManager();
  169.     if(pIAimBuddy) {
  170.         pIAimBuddy.ImportBuddyListPrepare(fileSpec, myStatus, mask);
  171.         if ( myStatus.value == true ) {
  172.             var groups = new Object();
  173.             pIAimBuddy.ImportBuddyListGetGroups(groups);
  174.             importBuddyListArgsObj = {
  175.                     mask: mask,
  176.                     groups: groups,
  177.                 }
  178.             window.openDialog('chrome://aim/content/ImportBuddyList.xul','_blank','modal=yes,titlebar,chrome', importBuddyListArgsObj);
  179.         } 
  180.         return( myStatus.value );
  181.     }
  182.     return false;
  183. }
  184.  
  185. // false means failure
  186.  
  187. function aimBuddyExportBuddyList(fileSpec, status)
  188. {
  189.     exportBuddyListArgsObj = {
  190.                fileSpec: fileSpec,
  191.            }
  192.  
  193.     window.openDialog('chrome://aim/content/ExportBuddyList.xul','_blank','modal=yes,titlebar,chrome', exportBuddyListArgsObj);
  194.         return true;
  195. /*
  196.     var myStatus = new Object();
  197.     var pIAimBuddy = aimBuddyManager();
  198.     if(pIAimBuddy) {
  199.         pIAimBuddy.ExportBuddyList(fileSpec, myStatus);
  200.         return( myStatus.value );
  201.     }
  202.     return false; 
  203. */
  204. }
  205.