예제 #1
0
        /// <summary>
        /// Sends an OmemoSubscribeToDeviceListMessage to subscribe to targets device list.
        /// </summary>
        /// <param name="toBareJid">The bare JID of the target you want to subscribe to. e.g. 'conference.jabber.org'</param>
        /// <returns>The OmemoSubscribeToDeviceListMessage result.</returns>
        public Task <MessageResponseHelperResult <IQMessage> > subscribeToDeviceListAsync(string toBareJid)
        {
            Predicate <IQMessage> predicate = (x) => { return(x is PubSubSubscriptionMessage || x is IQErrorMessage); };
            AsyncMessageResponseHelper <IQMessage> helper = new AsyncMessageResponseHelper <IQMessage>(CONNECTION, predicate);
            OmemoSubscribeToDeviceListMessage      msg    = new OmemoSubscribeToDeviceListMessage(CONNECTION.account.getFullJid(), CONNECTION.account.getBareJid(), toBareJid);

            return(helper.startAsync(msg));
        }
예제 #2
0
        private void subscribeToDeviceList()
        {
            setState(OmemoSessionBuildHelperState.SUBSCRIBING_TO_DEVICE_LIST);
            if (subscribeToDeviceListHelper != null)
            {
                subscribeToDeviceListHelper?.Dispose();
                subscribeToDeviceListHelper = null;
            }

            subscribeToDeviceListHelper = new MessageResponseHelper <IQMessage>(CONNECTION, onSubscribeToDeviceListMessage, onTimeout);
            OmemoSubscribeToDeviceListMessage msg = new OmemoSubscribeToDeviceListMessage(FULL_ACCOUNT_JID, BARE_ACCOUNT_JID, CHAT_JID);

            subscribeToDeviceListHelper.start(msg);
        }