/// <summary>
 /// Processes the modify card reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessModifyCardReply(ClusterCommandReplyPacket inPacket, ClusterModifyCardPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterModifyCardPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterModifyCardPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnModifyCardSuccssed(e);
     }
     else
     {
         client.ClusterManager.OnModifyCardFailed(e);
     }
 }
 /// <summary>
 /// Processes the cluster send IM ex reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterSendIMExReply(ClusterCommandReplyPacket inPacket, ClusterSendIMExPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterSendIMExPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterSendIMExPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnSendClusterIMExSuccessed(e);
     }
     else
         client.ClusterManager.OnSendClusterIMExFailed(e);
 }
 /// <summary>
 /// Processes the cluster sub cluster op reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterSubClusterOpReply(ClusterCommandReplyPacket inPacket, ClusterSubClusterOpPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterSubClusterOpPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterSubClusterOpPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnGetDialogSubjectSuccessed(e);
     }
     else
     {
         client.ClusterManager.OnGetDialogSubjectFailed(e);
     }
 }
 /// <summary>
 /// Processes the cluster join reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterJoinReply(ClusterCommandReplyPacket inPacket, ClusterJoinPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterJoinPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         switch (inPacket.JoinReply)
         {
             case ClusterJoinReply.OK:
                 client.ClusterManager.OnClusterJoinSuccessed(e);
                 break;
             case ClusterJoinReply.NeedAuth:
                 client.ClusterManager.OnJoinClusterNeedAuth(e);
                 break;
             case ClusterJoinReply.Denied:
                 client.ClusterManager.OnJoinClusterDenied(e);
                 break;
             default:
                 break;
         }
     }
     else
     {
         client.ClusterManager.OnJoinClusterFailed(e);
     }
 }
 /// <summary>处理认证信息发送的回复包
 /// Processes the cluster join auth reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterJoinAuthReply(ClusterCommandReplyPacket inPacket, ClusterAuthPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterAuthPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterAuthPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnSendJoinClusterAuthSuccessed(e);
     }
     else
     {
         client.ClusterManager.OnSendJoinClusterAuthFailed(e);
     }
 }
 /// <summary>
 /// Processes the cluster get online member reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterGetOnlineMemberReply(ClusterCommandReplyPacket inPacket, ClusterGetOnlineMemberPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterGetOnlineMemberPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterGetOnlineMemberPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnGetOnlineMemberSuccessed(e);
     }
     else
     {
         client.ClusterManager.OnGetOnlineMemberFailed(e);
     }
 }
 /// <summary>处理群命令回复包
 /// Processes the cluster command reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessClusterCommandReply(ClusterCommandReplyPacket inPacket, ClusterCommandPacket outPacket)
 {
     switch (inPacket.SubCommand)
     {
         case ClusterCommand.CREATE_CLUSTER:
             break;
         case ClusterCommand.MODIFY_MEMBER:
             break;
         case ClusterCommand.MODIFY_CLUSTER_INFO:
             break;
         case ClusterCommand.GET_CLUSTER_INFO:
             ProcessClusterGetInfoReply(inPacket, (ClusterGetInfoPacket)outPacket);
             break;
         case ClusterCommand.ACTIVATE_CLUSTER:
             break;
         case ClusterCommand.SEARCH_CLUSTER:
             ProcessClusterSearchReply(inPacket, (ClusterSearchPacket)outPacket);
             break;
         case ClusterCommand.JOIN_CLUSTER:
             ProcessClusterJoinReply(inPacket, (ClusterJoinPacket)outPacket);
             break;
         case ClusterCommand.JOIN_CLUSTER_AUTH:
             ProcessClusterJoinAuthReply(inPacket, (ClusterAuthPacket)outPacket);
             break;
         case ClusterCommand.EXIT_CLUSTER:
             ProcessClusterExitReply(inPacket, (ClusterExitPacket)outPacket);
             break;
         case ClusterCommand.GET_ONLINE_MEMBER:
             ProcessClusterGetOnlineMemberReply(inPacket, (ClusterGetOnlineMemberPacket)outPacket);
             break;
         case ClusterCommand.GET_MEMBER_INFO:
             ProccessClusterGetMemberInfoReply(inPacket, (ClusterGetMemberInfoPacket)outPacket);
             break;
         case ClusterCommand.MODIFY_CARD:
             ProcessModifyCardReply(inPacket, (ClusterModifyCardPacket)outPacket);
             break;
         case ClusterCommand.GET_CARD_BATCH:
             ProcessClusterGetCardBatchReply(inPacket, (ClusterGetCardBatchPacket)outPacket);
             break;
         case ClusterCommand.GET_CARD:
             ProcessClusterGetCardReply(inPacket, (ClusterGetCardPacket)outPacket);
             break;
         case ClusterCommand.COMMIT_ORGANIZATION:
             break;
         case ClusterCommand.UPDATE_ORGANIZATION:
             ProcessUpdateOrganizationReply(inPacket, (ClusterUpdateOrganizationPacket)outPacket);
             break;
         case ClusterCommand.COMMIT_MEMBER_ORGANIZATION:
             break;
         case ClusterCommand.GET_VERSION_ID:
             break;
         case ClusterCommand.SEND_IM_EX:
             break;
         case ClusterCommand.SET_ROLE:
             break;
         case ClusterCommand.TRANSFER_ROLE:
             break;
         case ClusterCommand.DISMISS_CLUSTER:
             break;
         case ClusterCommand.CREATE_TEMP:
             break;
         case ClusterCommand.MODIFY_TEMP_MEMBER:
             break;
         case ClusterCommand.EXIT_TEMP:
             break;
         case ClusterCommand.GET_TEMP_INFO:
             break;
         case ClusterCommand.MODIFY_TEMP_INFO:
             break;
         case ClusterCommand.SEND_TEMP_IM:
             break;
         case ClusterCommand.SUB_CLUSTER_OP:
             ProcessClusterSubClusterOpReply(inPacket, (ClusterSubClusterOpPacket)outPacket);
             break;
         case ClusterCommand.ACTIVATE_TEMP:
             break;
         default:
             break;
     }
 }
 /// <summary>
 /// Processes the update organization reply.
 /// </summary>
 /// <param name="inPacket">The in packet.</param>
 /// <param name="outPacket">The out packet.</param>
 private void ProcessUpdateOrganizationReply(ClusterCommandReplyPacket inPacket, ClusterUpdateOrganizationPacket outPacket)
 {
     QQEventArgs<ClusterCommandReplyPacket, ClusterUpdateOrganizationPacket> e = new QQEventArgs<ClusterCommandReplyPacket, ClusterUpdateOrganizationPacket>(client, inPacket, outPacket);
     if (inPacket.ReplyCode == ReplyCode.OK)
     {
         client.ClusterManager.OnUpdateOrganizationSuccessed(e);
     }
     else
     {
         client.ClusterManager.OnUpdateOrganizationFailed(e);
     }
 }