Smuxi.Engine.XmppProtocolManager.FindGroupChatsChatInfoParse C# (CSharp) Метод

FindGroupChatsChatInfoParse() приватный Метод

private FindGroupChatsChatInfoParse ( Jid jid, agsXMPP.protocol.iq.disco.DiscoInfo items, List list ) : void
jid Jid
items agsXMPP.protocol.iq.disco.DiscoInfo
list List
Результат void
        void FindGroupChatsChatInfoParse(Jid jid, DiscoInfo items, List<GroupChatModel> list)
        {
            var ident = items.SelectSingleElement<DiscoIdentity>();
            string name;
            if (ident != null && !String.IsNullOrEmpty(ident.Name)) {
                name = ident.Name + " [" + jid + "]";
            } else {
                name = jid;
            }
            var chat = new GroupChatModel(jid, name, null);
            chat.PersonCount = -1;
            var x = items.SelectSingleElement<agsXMPP.protocol.x.data.Data>();
            if (x != null) {
                var users_field = x.GetField("muc#roominfo_occupants");
                var topic_field = x.GetField("muc#roominfo_subject");
                var desc_field = x.GetField("muc#roominfo_description");
                if (users_field != null) {
                    chat.PersonCount = int.Parse(users_field.GetValue());
                }
                if (topic_field != null) {
                    chat.Topic = new MessageModel(topic_field.GetValue());
                } else if (desc_field != null) {
                    chat.Topic = new MessageModel(desc_field.GetValue());
                }
            }
            lock (list) {
                list.Add(chat);
            }
        }