コード例 #1
0
 private IContact GetInterlocutorOrSelf(VsJid id)
 {
     if (_client.Id == id)
     {
         return(new ClientStub(_client));
     }
     return(new InterlocutorStub(_client.Contacts.First(contact => contact.Id == id)));
 }
コード例 #2
0
        public void HandleAuthorizationsRequest(VsJid id)
        {
            var to   = XmppIdConverter.Convert(id);
            var name = GetInterlocutor(id).Name;

            _queue.PushToFront(new AuthorizationRequestMessage(
                                   name,
                                   () => _presenceManager.ApproveSubscriptionRequest(to),
                                   () => _presenceManager.RefuseSubscriptionRequest(to)));
        }
コード例 #3
0
ファイル: RosterListener.cs プロジェクト: zhongleiyang/vstalk
        public void RemoveInterlocutor(VsJid id)
        {
            var targetContact = _client.Contacts.First(contact => contact.Id == id);

            _client.Contacts.Remove(targetContact);
        }
コード例 #4
0
 public static Jid Convert(VsJid id)
 {
     return(new Jid(id.Jid));
 }
コード例 #5
0
 public void RequestsAuthorization(VsJid id)
 {
     _provider.HandleAuthorizationsRequest(id);
 }
コード例 #6
0
 public void UpdatedImName(VsJid id, string name)
 {
     GetInterlocutorOrSelf(id).ImName = name;
 }
コード例 #7
0
 public void ChangedState(VsJid id, ContactState state)
 {
     GetInterlocutorOrSelf(id).State = state;
 }
コード例 #8
0
 public bool Contains(VsJid id)
 {
     return(_client.Contacts.Any(contact => contact.Id == id));
 }
コード例 #9
0
 private Interlocutor GetInterlocutor(VsJid id)
 {
     return(_client.Contacts.First(contact => contact.Id == id));
 }
コード例 #10
0
        public void PushAuthorizationsRequest(VsJid id)
        {
            var to = XmppIdConverter.Convert(id);

            _presenceManager.Subscribe(to);
        }
コード例 #11
0
ファイル: ModelContext.cs プロジェクト: zhongleiyang/vstalk
 public Interlocutor GetContactById(VsJid id)
 {
     return(_account.XmppClients.SelectMany(client => client.Contacts)
            .FirstOrDefault(client => client.Id == id));
 }
コード例 #12
0
ファイル: ModelContext.cs プロジェクト: zhongleiyang/vstalk
 public Client GetClientById(VsJid id)
 {
     return(_account.XmppClients.FirstOrDefault(client => client.Id == id));
 }