Пример #1
0
 public void sendOmemoMessage(OmemoMessageMessage msg, string chatJid, string accountJid)
 {
     // Check if already trying to build a new session:
     if (MESSAGE_CACHE.ContainsKey(chatJid))
     {
         MESSAGE_CACHE[chatJid].Item1.Add(msg);
     }
     else
     {
         // If not start a new session build helper:
         OmemoDeviceListSubscriptionTable subscriptionTable = OmemoDeviceDBManager.INSTANCE.getDeviceListSubscription(chatJid, accountJid);
         OmemoSessionBuildHelper          sessionHelper     = new OmemoSessionBuildHelper(chatJid, accountJid, CONNECTION.account.getIdDomainAndResource(), onSessionBuilderResult, CONNECTION, this);
         MESSAGE_CACHE[chatJid] = new Tuple <List <OmemoMessageMessage>, OmemoSessionBuildHelper>(new List <OmemoMessageMessage>(), sessionHelper);
         MESSAGE_CACHE[chatJid].Item1.Add(msg);
         sessionHelper.start(subscriptionTable.state);
     }
 }
Пример #2
0
        public Tuple <OmemoDeviceListSubscriptionState, DateTime> getOmemoDeviceListSubscription(string name, string accountId)
        {
            List <OmemoDeviceListSubscriptionTable> subscriptions = dB.Query <OmemoDeviceListSubscriptionTable>(true, "SELECT * FROM " + DBTableConsts.OMEMO_DEVICE_LIST_SUBSCRIPTION_TABLE + " WHERE id = ?;", OmemoDeviceListSubscriptionTable.generateId(accountId, name));

            if (subscriptions is null || subscriptions.Count <= 0)
            {
                return(new Tuple <OmemoDeviceListSubscriptionState, DateTime>(OmemoDeviceListSubscriptionState.NONE, DateTime.MinValue));
            }
            return(new Tuple <OmemoDeviceListSubscriptionState, DateTime>(subscriptions[0].state, subscriptions[0].lastUpdateReceived));
        }
Пример #3
0
        public OmemoDeviceListSubscriptionTable getDeviceListSubscription(string chatJid, string accountId)
        {
            List <OmemoDeviceListSubscriptionTable> subscriptions = dB.Query <OmemoDeviceListSubscriptionTable>(true, "SELECT * FROM " + DBTableConsts.OMEMO_DEVICE_LIST_SUBSCRIPTION_TABLE + " WHERE id = ?;", OmemoDeviceListSubscriptionTable.generateId(chatJid, accountId));

            if (subscriptions == null || subscriptions.Count <= 0)
            {
                return(new OmemoDeviceListSubscriptionTable(chatJid, accountId, OmemoDeviceListSubscriptionState.NONE, DateTime.MinValue));
            }
            return(subscriptions[0]);
        }
Пример #4
0
 public void setDeviceListSubscription(OmemoDeviceListSubscriptionTable subscriptionTable)
 {
     dB.InsertOrReplace(subscriptionTable);
 }