// Token: 0x06000B97 RID: 2967 RVA: 0x0002CE88 File Offset: 0x0002B088
 internal static void GenerateBuddyListPayload(InstantMessageNotifier notifier, IEnumerable <InstantMessageGroup> groups, IEnumerable <InstantMessageBuddy> buddies)
 {
     ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "InstantMessagePayloadUtilities.GenerateBuddyListPayload.");
     if (notifier == null)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceError(0L, "InstantMessagePayloadUtilities.GenerateBuddyListPayload. Notifier is null.");
         return;
     }
     lock (notifier)
     {
         InstantMessagePayload instantMessagePayload = new InstantMessagePayload(InstantMessagePayloadType.AddToBuddyList);
         instantMessagePayload.AddedGroups = (from g in groups
                                              where g.VisibleOnClient
                                              select g).ToArray <InstantMessageGroup>();
         instantMessagePayload.AddedContacts = buddies.ToArray <InstantMessageBuddy>();
         notifier.Add(instantMessagePayload);
     }
     notifier.PickupData();
 }
 // Token: 0x06000A8F RID: 2703 RVA: 0x00024330 File Offset: 0x00022530
 public void Add(InstantMessagePayload payloadItem)
 {
     if (this.pendingNotifications.Count < 10000)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceDebug((long)this.GetHashCode(), "Queuing IM payload item {0} for user {1}", new object[]
         {
             payloadItem.PayloadType,
             this.GetUriForUser()
         });
         if (!this.isOverMaxSize)
         {
             payloadItem.SubscriptionId = this.SubscriptionId;
             this.pendingNotifications.Add(payloadItem);
             return;
         }
     }
     else
     {
         this.LogPayloadNotPickedEvent();
     }
 }
 // Token: 0x06000B99 RID: 2969 RVA: 0x0002D000 File Offset: 0x0002B200
 internal static void GenerateDeletedBuddiesPayload(InstantMessageNotifier notifier, List <InstantMessageBuddy> buddies)
 {
     ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "InstantMessagePayloadUtilities.GenerateDeletedBuddiesPayload.");
     if (notifier == null)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceError(0L, "InstantMessagePayloadUtilities.GenerateDeletedBuddiesPayload. Notifier is null.");
         return;
     }
     if (buddies == null || buddies.Count == 0)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "InstantMessagePayloadUtilities.GenerateDeletedBuddiesPayload. Empty buddies list, ignoring");
         return;
     }
     lock (notifier)
     {
         InstantMessagePayload instantMessagePayload = new InstantMessagePayload(InstantMessagePayloadType.DeleteBuddy);
         instantMessagePayload.DeletedBuddySipUrls = buddies.ConvertAll <string>((InstantMessageBuddy b) => b.SipUri).ToArray();
         notifier.Add(instantMessagePayload);
     }
     notifier.PickupData();
 }
 // Token: 0x06000B98 RID: 2968 RVA: 0x0002CF3C File Offset: 0x0002B13C
 internal static void GenerateDeletedGroupsPayload(InstantMessageNotifier notifier, List <InstantMessageGroup> groups)
 {
     ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "InstantMessagePayloadUtilities.GenerateDeletedGroupsPayload.");
     if (notifier == null)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceError(0L, "InstantMessagePayloadUtilities.GenerateDeletedGroupsPayload. Notifier is null.");
         return;
     }
     if (groups == null || groups.Count == 0)
     {
         ExTraceGlobals.InstantMessagingTracer.TraceDebug(0L, "InstantMessagePayloadUtilities.GenerateDeletedGroupsPayload. Empty group list, ignoring");
         return;
     }
     lock (notifier)
     {
         InstantMessagePayload instantMessagePayload = new InstantMessagePayload(InstantMessagePayloadType.DeleteGroup);
         instantMessagePayload.DeletedGroupIds = groups.ConvertAll <string>((InstantMessageGroup g) => g.Id).ToArray();
         notifier.Add(instantMessagePayload);
     }
     notifier.PickupData();
 }