コード例 #1
0
ファイル: CapsService.cs プロジェクト: Irdis/VSTalk
 public bool HasFeature(IInterlocutorResource interlocutorResource, string uri)
 {
     var client = ModelContext.GetClientByContact(interlocutorResource.Interlocutor);
     var jid = interlocutorResource.Jid.ToString().ToLower();
     var key = new CapsSource(client, jid);
     CapsInfo capsInfo;
     if (!_presentCaps.TryGetValue(key, out capsInfo))
     {
         return false;
     }
     return _discoveryDataAccess.HasFeature(capsInfo, uri);
 }
コード例 #2
0
ファイル: DiscoService.cs プロジェクト: Irdis/VSTalk
 public bool HasFeature(IInterlocutorResource jid, string uri)
 {
     return _capsService.HasFeature(jid, uri);
 }
コード例 #3
0
 public InterlocutorResourceItemViewModel(IInterlocutorResource resource)
 {
     ResourceItem = resource;
     resource.SubscribeToChange(() => resource.Show, sender => PropertyChanged.Notify(() => ResourceShow));
 }
コード例 #4
0
 private void RemoveResourceItem(IInterlocutorResource item)
 {
     var toRemove = _interlocutorResources.First(i => i.ResourceItem == item);
        _interlocutorResources.Remove(toRemove);
 }
コード例 #5
0
 private void CreateResourceItem(IInterlocutorResource item)
 {
     var resourceVM = new InterlocutorResourceItemViewModel(item);
     _interlocutorResources.Add(resourceVM);
 }
コード例 #6
0
 private IInterlocutorResource ReadHistory()
 {
     var latest = MessageFeed.GetMessages(Predicate).LastOrDefault();
     if (latest == null)
     {
         _activeResource = InitResource();
         return InitResource();
     }
     var from = latest.XmppMessage.From;
     var resource = InterlocutorContext.Resources.FirstOrDefault(interlocutorResource => Equals(interlocutorResource.Jid, @from));
     return resource;
 }
コード例 #7
0
 public void Consume(IMessage message)
 {
     _activeResource = GetActiveResource(message);
 }
コード例 #8
0
 public InterlocutorChatSession(Interlocutor interlocutor)
 {
     _interlocutor = interlocutor;
     _activeResource = ReadHistory();
 }