/// <summary> /// Update online user state (can be used to move/deaf/mute users) /// </summary> /// <param name="user"></param> public void UpdateUserState(VirtualServerEntity.OnlineUser user) { // set user state var state = new User(user.Session, user.Id, user.Mute, user.Deaf, user.Supress, #if MURMUR_123 user.PrioritySpeaker, #endif user.SelfMute, user.SelfDeaf, #if MURMUR_123 user.Recording, #endif user.ChannelId, user.Name, user.OnlineSecs, user.BytesPerSec, user.Version, user.Release, user.Os, user.OsVersion, user.Identity, user.Context, user.Comment, user.Address, user.TcpOnly, user.Idlesecs #if MURMUR_123380 , user.UdpPing, user.TcpPing #endif ); _server.setState(state); // update in cache if (_entity.OnlineUsers.ContainsKey(user.Id)) { _entity.OnlineUsers[user.Id] = user; } else { _entity.OnlineUsers.Add(user.Id, user); } }
/// <summary> /// Create online user object from Ice user object /// </summary> /// <param name="u"></param> /// <returns></returns> internal static VirtualServerEntity.OnlineUser getOnlineUser(User u) { var user = new VirtualServerEntity.OnlineUser() { Id = u.userid, ChannelId = u.channel, Name = u.name, Address = u.address, BytesPerSec = u.bytespersec, Comment = u.comment, Context = u.context, Deaf = u.deaf, Identity = u.identity, Idlesecs = u.idlesecs, Mute = u.mute, OnlineSecs = u.onlinesecs, Os = u.os, OsVersion = u.osversion, #if MURMUR_123 PrioritySpeaker = u.prioritySpeaker, Recording = u.recording, #endif Release = u.release, SelfDeaf = u.selfDeaf, SelfMute = u.selfMute, Session = u.session, Supress = u.suppress, TcpOnly = u.tcponly, #if MURMUR_124 TcpPing = u.tcpPing, UdpPing = u.udpPing, #endif Version = u.version, }; return(user); }