Esempio n. 1
0
 public static IMessageBuilder Create(IInterlocutorChatSession chatSession)
 {
     if (chatSession.ActiveResource != null && DiscoService.HasFeature(chatSession.ActiveResource, ExtUri.XAML))
     {
         return new XamlMessageBuilder();
     }
     return new TextMessageBuilder();
 }
Esempio n. 2
0
        public void SendMessage(IInterlocutorChatSession chatSession, Message outMessage)
        {
            outMessage.To = chatSession.ActiveResource == null
                ? XmppIdConverter.Jid(chatSession.Interlocutor)
                : chatSession.ActiveResource.Jid;
            //outMessage.From = ClientContext.Jid;
            outMessage.Type = MessageType.chat;
            Connection.Send(outMessage);

            // agsXMPP doesn't fire onMessage event automatically,
            // so push message to feed right here
            var contactMessage = new FeedMessage();
            contactMessage.XmppMessage = outMessage;
            contactMessage.Date = DateTime.Now;
            contactMessage.ClientId = Client.Id;

            Provider.EmitMessage(contactMessage);
        }
Esempio n. 3
0
 private IInterlocutorChatSession GetOrCreateSession()
 {
     return _chatSession ?? (_chatSession = ChatSession.Create(Interlocutor));
 }