• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ AddressTableEntry函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中AddressTableEntry函数的典型用法代码示例。如果您正苦于以下问题:C++ AddressTableEntry函数的具体用法?C++ AddressTableEntry怎么用?C++ AddressTableEntry使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了AddressTableEntry函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
            {
                const CRoscoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = IsMine(*wallet, address.Get());
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString())));
            }

            std::set<CStealthAddress>::iterator it;
            for (it = wallet->stealthAddresses.begin(); it != wallet->stealthAddresses.end(); ++it)
            {
                bool fMine = !(it->scan_secret.size() < 1);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(it->label),
                                  QString::fromStdString(it->Encoded()),
                                  true));
            };
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:FrankenRockt,项目名称:roscoin,代码行数:28,代码来源:addresstablemodel.cpp


示例2: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = IsMine(*wallet, address.Get());

                if (fMine) {
                    std::string addr;
                    if (wallet->HasScrapeAddress(address.ToString()))
                        wallet->ReadScrapeAddress(address.ToString(), addr);

                    cachedAddressTable.append(AddressTableEntry(AddressTableEntry::Receiving,
                                      QString::fromStdString(strName),
                                      QString::fromStdString(address.ToString()),
                                      QString::fromStdString(addr)));
                } else {
                    cachedAddressTable.append(AddressTableEntry(AddressTableEntry::Sending,
                                      QString::fromStdString(strName),
                                      QString::fromStdString(address.ToString())));
                }
            }
        }
    }
开发者ID:cryptonit,项目名称:Diamond,代码行数:28,代码来源:addresstablemodel.cpp


示例3: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                bool fMine = IsMine(*wallet, address.Get());
                AddressTableEntry::Type addressType = translateTransactionType(
                        QString::fromStdString(item.second.purpose), fMine);
                const std::string& strName = item.second.name;
                cachedAddressTable.append(AddressTableEntry(addressType,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString())));
            }

            std::set<CStealthAddress>::iterator it;
            for (it = wallet->stealthAddresses.begin(); it != wallet->stealthAddresses.end(); ++it)
            {
                bool fMine = !(it->scan_secret.size() < 1);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(it->label),
                                  QString::fromStdString(it->Encoded()),
                                  true));
            };
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        // Even though the map is already sorted this re-sorting step is needed because the originating map
        // is sorted by binary address, not by base58() address.
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:DGCDev,项目名称:digitalcoin,代码行数:32,代码来源:addresstablemodel.cpp


示例4: refreshAddressTable

    void refreshAddressTable()
    {
        std::vector<TxInfoRecord> vecRecord;
        
        {
            TRY_LOCK(cs_main, lockMain);
            
            if (lockMain)
            {
                vecRecord = ptxinfoStore->RecordsWithKey(TxInfoKey(INFO_ID, "n"));
            }
        }
        
        if (!vecRecord.empty())
        {
            cachedAddressTable.clear();
        }
        else
        {
            QMutableListIterator<AddressTableEntry> iter(cachedAddressTable);
            while (iter.hasNext())
            {
                if (iter.next().type != AddressTableEntry::Directory)
                {
                    iter.remove();
                }
            }
        }
        
        {
            LOCK(wallet->cs_wallet);
            
            BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = wallet->HaveKey(address);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString())));
            }

            BOOST_FOREACH(const TxInfoRecord &record, vecRecord)
            {
                if (wallet->mapAddressBook.count(record.addr) > 0)
                {
                    continue;
                }
                
                cachedAddressTable.append(AddressTableEntry(AddressTableEntry::Directory, "",
                                                            QString::fromStdString(record.addr.ToString())));
            }
        }
    }
开发者ID:stamhe,项目名称:shinycoin,代码行数:54,代码来源:addresstablemodel.cpp


示例5: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, wallet->mapAddressBook)
            {
                const CMnemonicAddress& address = item.first;
                bool fMine = IsMine(*wallet, address.Get());
                AddressTableEntry::Type addressType = translateTransactionType(
                        QString::fromStdString(item.second.purpose), fMine);
                const std::string& strName = item.second.name;

			CMnemonicAddress bitcoinAddress;

			bitcoinAddress.SetString( address.ToString() );
			CKeyID keyID;
			bitcoinAddress.GetKeyID(keyID);

				//common::CPeriodicActionExecutor< client::DimsResponse >::getInstance()->addAction( new client::CSendBalanceInfoAction( address.ToString() ), 6000 );

                cachedAddressTable.append(AddressTableEntry(addressType,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString()),
								  CDimsUnits::format(0, wallet->AvailableCoinsAmount(keyID)) ));
            }
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        // Even though the map is already sorted this re-sorting step is needed because the originating map
        // is sorted by binary address, not by base58() address.
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:salivan-ratcoin-dev-team,项目名称:dims,代码行数:32,代码来源:addresstablemodel.cpp


示例6: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = IsMine(*wallet, address.Get());
                bool fMyShare = IsMyShare(*wallet, address.Get());
                AddressTableEntry::Type type = fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending;
                AddressTableEntry::Category cate = AddressTableEntry::Normal;
                if ( fMyShare )
                {
                    cate = AddressTableEntry::MultiSig;
                    type = AddressTableEntry::Sending;
                }

                cachedAddressTable.append(AddressTableEntry(type,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString()), cate));
            }
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:60E,项目名称:naocanfen,代码行数:27,代码来源:addresstablemodel.cpp


示例7: updateEntry

    void updateEntry(const QString &address, const QString &label, bool isMine, int status)
    {
        // Find address / label in model
        QList<AddressTableEntry>::iterator lower = qLowerBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        QList<AddressTableEntry>::iterator upper = qUpperBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        int lowerIndex = (lower - cachedAddressTable.begin());
        int upperIndex = (upper - cachedAddressTable.begin());
        bool inModel = (lower != upper);
        AddressTableEntry::Type newEntryType = isMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending;

        switch(status)
        {
        case CT_NEW:
        {
            if(inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_NEW, but entry is already in model\n");
                break;
            }
            parent->beginInsertRows(QModelIndex(), lowerIndex, lowerIndex);

            std::string pmkey = "";
            std::string a;
            a = address.toStdString();
            int i;
            if (isMine)
            {
                i = SecureMsgGetLocalPublicKey(a, pmkey);
                if (i)
                    printf("Can't get PM Key for some reason\n");
            }

            cachedAddressTable.insert(lowerIndex, AddressTableEntry(newEntryType, label, address, QString::fromStdString(pmkey)));
            parent->endInsertRows();
            break;
        }
        case CT_UPDATED:
            if(!inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_UPDATED, but entry is not in model\n");
                break;
            }
            lower->type = newEntryType;
            lower->label = label;
            parent->emitDataChanged(lowerIndex);
            break;
        case CT_DELETED:
            if(!inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_DELETED, but entry is not in model\n");
                break;
            }
            parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
            cachedAddressTable.erase(lower, upper);
            parent->endRemoveRows();
            break;
        }
    }
开发者ID:ChemCoin,项目名称:Chemcoin,代码行数:60,代码来源:addresstablemodel.cpp


示例8: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;

                AddressTableEntry::Type addressType;
                const std::string& strPurpose = item.second.purpose;
                if (strPurpose == "send") addressType = AddressTableEntry::Sending;
                else if (strPurpose == "receive") addressType = AddressTableEntry::Receiving;
                else if (strPurpose == "unknown") {
                    bool fMine = IsMine(*wallet, address.Get());
                    addressType = (fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending);
                }
                else continue; // "refund" addresses aren't shown, and change addresses aren't in mapAddressBook at all.

                const std::string& strName = item.second.name;
                cachedAddressTable.append(AddressTableEntry(addressType,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString())));
            }
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        // Even though the map is already sorted this re-sorting step is needed because the originating map
        // is sorted by binary address, not by base58() address.
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:craftcoin,项目名称:bitcoin,代码行数:30,代码来源:addresstablemodel.cpp


示例9: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();
        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = IsMine(*wallet, address.Get());

                std::string a;
                std::string PMKey = "";
                a = address.ToString();

                if (fMine)
                {
                    int i = SecureMsgGetLocalPublicKey(a, PMKey);
                    if (i == 4)
                        PMKey = "Wallet is Locked.";
                    else if (i)
                        printf("Error getting PM Key %i\n", i);
                }

                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString()),
                                  QString::fromStdString(PMKey)));
            }

            std::set<CStealthAddress>::iterator it;
            for (it = wallet->stealthAddresses.begin(); it != wallet->stealthAddresses.end(); ++it)
            {
                bool fMine = !(it->scan_secret.size() < 1);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(it->label),
                                  QString::fromStdString(it->Encoded()),
                                  QString::fromStdString(""),
                                  true));
            };
        }
        // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
        qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
    }
开发者ID:ChemCoin,项目名称:Chemcoin,代码行数:44,代码来源:addresstablemodel.cpp


示例10: updateEntry

    void updateEntry(const QString &address, const QString &label, bool isMine, int status)
    {
        // Find address / label in model
        QList<AddressTableEntry>::iterator lower = qLowerBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        QList<AddressTableEntry>::iterator upper = qUpperBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        int lowerIndex = (lower - cachedAddressTable.begin());
        int upperIndex = (upper - cachedAddressTable.begin());
        bool inModel = (lower != upper);
        AddressTableEntry::Type newEntryType = isMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending;

        switch(status)
        {
        case CT_NEW:
            if(inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_NOW, but entry is already in model\n");
                break;
            }
            {
                CBitcoinAddress addr(address.toStdString());
                AddressTableEntry::Category cate = IsMyShare(*wallet, addr.Get()) ? AddressTableEntry::MultiSig : AddressTableEntry::Normal;

                parent->beginInsertRows(QModelIndex(), lowerIndex, lowerIndex);
                cachedAddressTable.insert(lowerIndex, AddressTableEntry(newEntryType, label, address, cate));
                parent->endInsertRows();
            }
            break;
        case CT_UPDATED:
            if(!inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_UPDATED, but entry is not in model\n");
                break;
            }
            lower->type = newEntryType;
            lower->label = label;
            parent->emitDataChanged(lowerIndex);
            break;
        case CT_DELETED:
            if(!inModel)
            {
                OutputDebugStringF("Warning: AddressTablePriv::updateEntry: Got CT_DELETED, but entry is not in model\n");
                break;
            }
            parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
            cachedAddressTable.erase(lower, upper);
            parent->endRemoveRows();
            break;
        }
    }
开发者ID:60E,项目名称:naocanfen,代码行数:51,代码来源:addresstablemodel.cpp


示例11: refreshAddressTable

 void refreshAddressTable()
 {
     cachedAddressTable.clear();
     {
         LOCK(wallet->cs_wallet);
         BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
         {
             const CNaanayamAddress& address = item.first;
             const std::string& strName = item.second;
             bool fMine = IsMine(*wallet, address.Get());
             cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                               QString::fromStdString(strName),
                               QString::fromStdString(address.ToString())));
         }
     }
 }
开发者ID:NaanaYaM,项目名称:naanayam,代码行数:16,代码来源:addresstablemodel.cpp


示例12: updateEntry

    void updateEntry(const QString &address, const QString &label, bool isMine, const QString &purpose, int status)
    {
        // Find address / label in model
        QList<AddressTableEntry>::iterator lower = qLowerBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        QList<AddressTableEntry>::iterator upper = qUpperBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        int lowerIndex = (lower - cachedAddressTable.begin());
        int upperIndex = (upper - cachedAddressTable.begin());
        bool inModel = (lower != upper);
        AddressTableEntry::Type newEntryType = translateTransactionType(purpose, isMine);

        switch(status)
        {
        case CT_NEW:
            if(inModel)
            {
                qWarning() << "AddressTablePriv::updateEntry : Warning: Got CT_NEW, but entry is already in model";
                break;
            }
            parent->beginInsertRows(QModelIndex(), lowerIndex, lowerIndex);
            cachedAddressTable.insert(lowerIndex, AddressTableEntry(newEntryType, label, address));
            parent->endInsertRows();
            break;
        case CT_UPDATED:
            if(!inModel)
            {
                qWarning() << "AddressTablePriv::updateEntry : Warning: Got CT_UPDATED, but entry is not in model";
                break;
            }
            lower->type = newEntryType;
            lower->label = label;
            parent->emitDataChanged(lowerIndex);
            break;
        case CT_DELETED:
            if(!inModel)
            {
                qWarning() << "AddressTablePriv::updateEntry : Warning: Got CT_DELETED, but entry is not in model";
                break;
            }
            parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
            cachedAddressTable.erase(lower, upper);
            parent->endRemoveRows();
            break;
        }
    }
开发者ID:deuscoin,项目名称:deuscoin,代码行数:46,代码来源:addresstablemodel.cpp


示例13: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();

        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CBitcoinAddress, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress& address = item.first;
                const std::string& strName = item.second;
                bool fMine = wallet->HaveKey(address);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString())));
            }
        }
    }
开发者ID:TGCproject,项目名称:ThirdGenerationCoin,代码行数:17,代码来源:addresstablemodel.cpp


示例14: refreshAddressTable

 void refreshAddressTable()
 {
     cachedAddressTable.clear();
     {
         LOCK(wallet->cs_wallet);
         BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
         {
             const CTalkcoinAddress& address = item.first;
             const std::string& strName = item.second;
             bool fMine = IsMine(*wallet, address.Get());
             cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                               QString::fromStdString(strName),
                               QString::fromStdString(address.ToString())));
         }
     }
     // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
     qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
 }
开发者ID:Esthiem,项目名称:talkcoin-wallet,代码行数:18,代码来源:addresstablemodel.cpp


示例15: refreshAddressTable

 void refreshAddressTable(interfaces::Wallet& wallet)
 {
     cachedAddressTable.clear();
     {
         for (const auto& address : wallet.getAddresses())
         {
             AddressTableEntry::Type addressType = translateTransactionType(
                     QString::fromStdString(address.purpose), address.is_mine);
             cachedAddressTable.append(AddressTableEntry(addressType,
                               QString::fromStdString(address.name),
                               QString::fromStdString(EncodeDestination(address.dest))));
         }
     }
     // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
     // Even though the map is already sorted this re-sorting step is needed because the originating map
     // is sorted by binary address, not by base58() address.
     qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
 }
开发者ID:994920256,项目名称:bitcoin,代码行数:18,代码来源:addresstablemodel.cpp


示例16: refreshAddressTable

    void refreshAddressTable()
    {
        cachedAddressTable.clear();

        {
            LOCK(wallet->cs_wallet);
            BOOST_FOREACH(const PAIRTYPE(CTxDestination, std::string)& item, wallet->mapAddressBook)
            {
                const CBitcoinAddress address(item.first, wallet->GetUnit());
                const std::string& strName = item.second;
                bool fMine = IsMine(*wallet, address.Get());
                CPeercoinAddress dividendAddress;
                if (wallet->GetUnit() == 'S')
                    dividendAddress = CPeercoinAddress(address);
                cachedAddressTable.append(AddressTableEntry(fMine ? AddressTableEntry::Receiving : AddressTableEntry::Sending,
                                  QString::fromStdString(strName),
                                  QString::fromStdString(address.ToString()),
                                  QString::fromStdString(dividendAddress.ToString())));
            }
        }
    }
开发者ID:coinkeeper,项目名称:2015-06-22_18-54_nubits,代码行数:21,代码来源:addresstablemodel.cpp


示例17: refreshAddressTable

 void refreshAddressTable()
 {
     cachedAddressTable.clear();
     {
         LOCK(wallet->cs_wallet);
         BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, wallet->mapAddressBook)
         {
             const CDeuscoinAddress& address = item.first;
             bool fMine = IsMine(*wallet, address.Get());
             AddressTableEntry::Type addressType = translateTransactionType(
                     QString::fromStdString(item.second.purpose), fMine);
             const std::string& strName = item.second.name;
             cachedAddressTable.append(AddressTableEntry(addressType,
                               QString::fromStdString(strName),
                               QString::fromStdString(address.ToString())));
         }
     }
     // qLowerBound() and qUpperBound() require our cachedAddressTable list to be sorted in asc order
     // Even though the map is already sorted this re-sorting step is needed because the originating map
     // is sorted by binary address, not by base58() address.
     qSort(cachedAddressTable.begin(), cachedAddressTable.end(), AddressTableEntryLessThan());
 }
开发者ID:deuscoin,项目名称:deuscoin,代码行数:22,代码来源:addresstablemodel.cpp


示例18: updateEntry

    void updateEntry(const QString &address, const QString &label, bool isMine, const QString &purpose, int status)
    {
        // Find address / label in model
        QList<AddressTableEntry>::iterator lower = qLowerBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        QList<AddressTableEntry>::iterator upper = qUpperBound(
            cachedAddressTable.begin(), cachedAddressTable.end(), address, AddressTableEntryLessThan());
        int lowerIndex = (lower - cachedAddressTable.begin());
        int upperIndex = (upper - cachedAddressTable.begin());
        bool inModel = (lower != upper);
        AddressTableEntry::Type newEntryType = translateTransactionType(purpose, isMine);

		CMnemonicAddress bitcoinAddress;
		bitcoinAddress.SetString( address.toStdString() );
		CKeyID keyID;
		bitcoinAddress.GetKeyID(keyID);

        switch(status)
        {
        case CT_NEW:
            if(inModel)
            {
                qDebug() << "AddressTablePriv::updateEntry : Warning: Got CT_NOW, but entry is already in model";
                break;
            }
            parent->beginInsertRows(QModelIndex(), lowerIndex, lowerIndex);

            cachedAddressTable.insert(lowerIndex, AddressTableEntry(newEntryType, label, address,QString::number ( wallet->AvailableCoinsAmount(keyID))));
            parent->endInsertRows();
            break;
        case CT_UPDATED:
            if(!inModel)
            {
                qDebug() << "AddressTablePriv::updateEntry : Warning: Got CT_UPDATED, but entry is not in model";
                break;
            }
            lower->type = newEntryType;
            lower->label = label;
            parent->emitDataChanged(lowerIndex);
            break;
		case CT_BALANCE:
			if(!inModel)
			{
				qDebug() << "AddressTablePriv::updateEntry : Warning: Got CT_UPDATED, but entry is not in model";
				break;
			}
			lower->balance = CDimsUnits::format(0, wallet->AvailableCoinsAmount(keyID));
			parent->emitDataChanged(lowerIndex);
			break;
        case CT_DELETED:
            if(!inModel)
            {
                qDebug() << "AddressTablePriv::updateEntry : Warning: Got CT_DELETED, but entry is not in model";
                break;
            }
            parent->beginRemoveRows(QModelIndex(), lowerIndex, upperIndex-1);
            cachedAddressTable.erase(lower, upper);
            parent->endRemoveRows();
            break;
        }
    }
开发者ID:salivan-ratcoin-dev-team,项目名称:dims,代码行数:61,代码来源:addresstablemodel.cpp



注:本文中的AddressTableEntry函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ AddressTableEntryLessThan函数代码示例发布时间:2022-05-30
下一篇:
C++ Address函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap