public void RemovePeersFromGroup(AVSession session, AVGroup group, IList<string> peerIds)
 {
     IDictionary<string, object> cmdBody = (IDictionary<string, object>) new Dictionary<string, object>();
     cmdBody.Add("cmd", (object) "room");
     cmdBody.Add("op", (object) "kick");
     if (!string.IsNullOrEmpty(group.GroupId))
         cmdBody.Add("roomId", (object) group.GroupId);
     cmdBody.Add("roomPeerIds", (object) peerIds);
     cmdBody.Add("peerId", (object) session.SelfId);
     cmdBody.Add("appId", (object) AVClient.ApplicationId);
     this.checkGroupSinature(session, group.GroupId == null ? string.Empty : group.GroupId, peerIds, "kick",
         cmdBody);
 }
 public void LeftFromGroup(AVSession session, AVGroup group)
 {
     this.checkGroupSinature(session, group.GroupId, (IList<string>) null, "leave",
         (IDictionary<string, object>) new Dictionary<string, object>()
         {
             {
                 "cmd",
                 (object) "room"
             },
             {
                 "op",
                 (object) "leave"
             },
             {
                 "peerId",
                 (object) session.SelfId
             },
             {
                 "roomId",
                 (object) group.GroupId
             },
             {
                 "appId",
                 (object) AVClient.ApplicationId
             }
         });
 }
 internal void DoActionAfterJoinedGroup(AVGroup group, Action action)
 {
     this.DoActionAfterSessionOpen((Action)(() => group.Join((EventHandler<EventArgs>)((s, e) => action()))));
 }
 public void SendMessage(AVSession session, AVGroup group, AVMessage message)
 {
     IDictionary<string, object> cmdBody = (IDictionary<string, object>) new Dictionary<string, object>();
     cmdBody.Add("cmd", (object) "direct");
     cmdBody.Add("msg", (object) message.Message);
     cmdBody.Add("appId", (object) AVClient.ApplicationId);
     cmdBody.Add("roomId", (object) group.GroupId);
     cmdBody.Add("peerId", (object) session.SelfId);
     cmdBody.Add("fromPeerId", (object) session.SelfId);
     cmdBody.Add("id", (object) message.localId);
     this.SendCMD(cmdBody);
 }
 public void LeftFromGroup(AVGroup group)
 {
     this.DoActionAfterSessionOpen((Action)(() => this.rtc.LeftFromGroup(this, group)));
 }
 public void SendMessage(AVGroup group, AVMessage message)
 {
     this.DoActionAfterSessionOpen((Action)(() =>
     {
         lock (this.mutex)
           this.pendingMeaasge.Add(message.localId, message);
         this.rtc.SendMessage(this, group, message);
     }));
 }
 internal void RemovedPeersFromGroup(AVGroup group, IList<string> peerIds)
 {
     this.DoActionAfterSessionOpen((Action)(() => this.rtc.RemovePeersFromGroup(this, group, peerIds)));
 }
 internal void AddPeersToGroup(AVGroup group, IList<string> peerIds)
 {
     this.DoActionAfterSessionOpen((Action)(() => this.rtc.AddPeersToGroup(this, group, peerIds)));
 }
 internal void JoinGroup(AVGroup group)
 {
     this.DoActionAfterSessionOpen((Action)(() => this.rtc.CreateGroup(this)));
 }