本文整理汇总了C++中Account::GetBalance方法的典型用法代码示例。如果您正苦于以下问题:C++ Account::GetBalance方法的具体用法?C++ Account::GetBalance怎么用?C++ Account::GetBalance使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Account
的用法示例。
在下文中一共展示了Account::GetBalance方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
Account Account::operator+(Account &item)
{
Balance += item.GetBalance();
item.SetBalance(0);
return *this;
}
示例2: Trigger
// PayDividendVisitor::Trigger() is used in
// OTUnitDefinition::VisitAccountRecords()
// cppcheck-suppress unusedFunction
bool PayDividendVisitor::Trigger(
const Account& theSharesAccount) // theSharesAccount
// is, say, a Pepsi
// shares
// account. Here, we'll send a dollars voucher
// to its owner.
{
const std::int64_t lPayoutAmount =
(theSharesAccount.GetBalance() * GetPayoutPerShare());
if (lPayoutAmount <= 0) {
otOut << "PayDividendVisitor::Trigger: nothing to pay, "
"since this account owns no shares. (Returning "
"true.)";
return true; // nothing to pay, since this account owns no shares.
// Success!
}
OT_ASSERT(false == GetNotaryID()->empty());
const auto theNotaryID = GetNotaryID();
OT_ASSERT(!GetPayoutUnitTypeId()->empty());
const Identifier& payoutUnitTypeId_ = (Identifier::Factory());
OT_ASSERT(!GetVoucherAcctID()->empty());
const Identifier& theVoucherAcctID = (GetVoucherAcctID());
Nym& theServerNym = const_cast<Nym&>(server_.GetServerNym());
const auto theServerNymID = Identifier::Factory(theServerNym);
const Identifier& RECIPIENT_ID = theSharesAccount.GetNymID();
OT_ASSERT(!GetNymID()->empty());
const Identifier& theSenderNymID = (GetNymID());
OT_ASSERT(!GetMemo()->empty());
const String& strMemo = (GetMemo());
// Note: theSenderNymID is the originator of the Dividend Payout.
// However, all the actual vouchers will be from "the server Nym" and
// not from theSenderNymID. So then why is it even here? Because anytime
// there's an error, the server will send to theSenderNymID instead of
// RECIPIENT_ID (so the original sender can have his money back, instead of
// just having it get lost in the ether.)
bool bReturnValue = false;
auto theVoucher{
server_.API().Factory().Cheque(theNotaryID, Identifier::Factory())};
OT_ASSERT(false != bool(theVoucher));
// 10 minutes == 600 Seconds
// 1 hour == 3600 Seconds
// 1 day == 86400 Seconds
// 30 days == 2592000 Seconds
// 3 months == 7776000 Seconds
// 6 months == 15552000 Seconds
const time64_t VALID_FROM =
OTTimeGetCurrentTime(); // This time is set to TODAY NOW
const time64_t VALID_TO = OTTimeAddTimeInterval(
VALID_FROM,
OTTimeGetSecondsFromTime(OT_TIME_SIX_MONTHS_IN_SECONDS)); // This time
// occurs in
// 180 days (6 months).
// Todo hardcoding.
TransactionNumber lNewTransactionNumber = 0;
auto context = server_.API().Wallet().mutable_ClientContext(
theServerNym.ID(), theServerNym.ID());
bool bGotNextTransNum =
server_.GetTransactor().issueNextTransactionNumberToNym(
context.It(), lNewTransactionNumber); // We save the transaction
// number on the server Nym (normally we'd discard it) because
// when the cheque is deposited, the server nym, as the owner of
// the voucher account, needs to verify the transaction # on the
// cheque (to prevent double-spending of cheques.)
if (bGotNextTransNum) {
const bool bIssueVoucher = theVoucher->IssueCheque(
lPayoutAmount, // The amount of the cheque.
lNewTransactionNumber, // Requiring a transaction number prevents
// double-spending of cheques.
VALID_FROM, // The expiration date (valid from/to dates) of the
// cheque
VALID_TO, // Vouchers are automatically starting today and lasting
// 6
// months.
theVoucherAcctID, // The asset account the cheque is drawn on.
theServerNymID, // Nym ID of the sender (in this case the server
// nym.)
strMemo, // Optional memo field. Includes item note and request
// memo.
Identifier::Factory(RECIPIENT_ID));
// All account crediting / debiting happens in the caller, in
// server::Server.
// (AND it happens only ONCE, to cover ALL vouchers.)
// Then in here, the voucher either gets send to the recipient, or if
// error, sent back home to
// the issuer Nym. (ALL the funds are removed, then the vouchers are
// sent one way or the other.)
// Any returned vouchers, obviously serve to notify the dividend payer
// of where the errors were
// (as well as give him the opportunity to get his money back.)
//
bool bSent = false;
//.........这里部分代码省略.........