コード例 #1
0
 protected override void ParseBody(ByteBuffer buf)
 {
     // 当前好友列表位置
     Finished = buf.Get() == QQGlobal.QQ_POSITION_ONLINE_LIST_END;
     Position = 0;
     //只要还有数据就继续读取下一个friend结构
     OnlineFriends = new List <FriendOnlineEntry>();
     while (buf.HasRemaining())
     {
         FriendOnlineEntry entry = new FriendOnlineEntry();
         entry.Read(buf);
         // 添加到List
         OnlineFriends.Add(entry);
         // 如果还有更多好友,计算position
         if (!Finished)
         {
             Position = Math.Max(Position, (int)entry.Status.QQ);
         }
     }
     Position++;
 }
コード例 #2
0
 /// <summary>设置好友为上线状态
 ///     <remark>abu 2008-03-11 </remark>
 /// </summary>
 /// <param name="qq">The qq.</param>
 /// <param name="onlineEntry">The online entry.</param>
 public void SetFriendOnline(int qq, FriendOnlineEntry onlineEntry)
 {
     this[qq].Status = onlineEntry.Status;
     this.Onlines++;
 }