Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.74 KB | None | 0 0
  1. void XBridgeTransactionsModel::onTimer()
  2. {
  3.     // check pending transactions
  4.     for (unsigned int i = 0; i < m_transactions.size(); ++i)
  5.     {
  6.         boost::posix_time::time_duration td =
  7.                 boost::posix_time::second_clock::universal_time() -
  8.                 m_transactions[i].txtime;
  9.  
  10.         auto id = m_transactions[i].id;
  11.         if (m_transactions[i].state == XBridgeTransactionDescr::trNew &&
  12.                 td.total_seconds() > XBridgeTransaction::TTL/60)
  13.         {
  14.             m_transactions[i].state = XBridgeTransactionDescr::trOffline;
  15.             emit dataChanged(index(i, FirstColumn), index(i, LastColumn));
  16.         }
  17.         else if (m_transactions[i].state == XBridgeTransactionDescr::trPending &&
  18.                 td.total_seconds() > XBridgeTransaction::TTL/6)
  19.         {
  20.             m_transactions[i].state = XBridgeTransactionDescr::trExpired;
  21.             emit dataChanged(index(i, FirstColumn), index(i, LastColumn));
  22.         }
  23.         else if ((m_transactions[i].state == XBridgeTransactionDescr::trExpired ||
  24.                   m_transactions[i].state == XBridgeTransactionDescr::trOffline) &&
  25.                          td.total_seconds() < XBridgeTransaction::TTL/6)
  26.         {
  27.             m_transactions[i].state = XBridgeTransactionDescr::trPending;
  28.             emit dataChanged(index(i, FirstColumn), index(i, LastColumn));
  29.         }
  30.         else if (m_transactions[i].state == XBridgeTransactionDescr::trExpired &&
  31.                 td.total_seconds() > XBridgeTransaction::TTL)
  32.         {
  33.             emit beginRemoveRows(QModelIndex(), i, i);
  34.             m_transactions.erase(m_transactions.begin()+i);
  35.             emit endRemoveRows();
  36.             --i;
  37.             }
  38.         }
  39.         }
  40.  
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement