diff --git a/src/cpp/ripple/AccountItems.cpp b/src/cpp/ripple/AccountItems.cpp index b10937e23..c5a4c0e22 100644 --- a/src/cpp/ripple/AccountItems.cpp +++ b/src/cpp/ripple/AccountItems.cpp @@ -7,25 +7,25 @@ SETUP_LOG(); -AccountItem::AccountItem(SerializedLedgerEntry::pointer ledger) : mLedgerEntry(ledger) +AccountItem::AccountItem(SerializedLedgerEntry::ref ledger) : mLedgerEntry(ledger) { } -AccountItems::AccountItems(uint160& accountID, Ledger::ref ledger, AccountItem::pointer ofType) +AccountItems::AccountItems(const uint160& accountID, Ledger::ref ledger, AccountItem::pointer ofType) { mOfType=ofType; fillItems(accountID, ledger); } // looks in the current ledger -AccountItems::AccountItems(uint160& accountID, AccountItem::pointer ofType ) +AccountItems::AccountItems(const uint160& accountID, AccountItem::pointer ofType ) { mOfType=ofType; fillItems(accountID,theApp->getLedgerMaster().getClosedLedger()); } -void AccountItems::fillItems(uint160& accountID, Ledger::ref ledger) +void AccountItems::fillItems(const uint160& accountID, Ledger::ref ledger) { uint256 rootIndex = Ledger::getOwnerDirIndex(accountID); uint256 currentIndex = rootIndex; diff --git a/src/cpp/ripple/AccountItems.h b/src/cpp/ripple/AccountItems.h index 4d3016189..8f9e373f9 100644 --- a/src/cpp/ripple/AccountItems.h +++ b/src/cpp/ripple/AccountItems.h @@ -13,9 +13,11 @@ protected: SerializedLedgerEntry::pointer mLedgerEntry; public: typedef boost::shared_ptr pointer; + typedef const pointer& ref; + AccountItem(){ } - AccountItem(SerializedLedgerEntry::pointer ledger); - virtual AccountItem::pointer makeItem(uint160& accountID, SerializedLedgerEntry::pointer ledgerEntry)=0; + AccountItem(SerializedLedgerEntry::ref ledger); + virtual AccountItem::pointer makeItem(const uint160& accountID, SerializedLedgerEntry::ref ledgerEntry)=0; virtual LedgerEntryType getType()=0; SerializedLedgerEntry::pointer getSLE() { return mLedgerEntry; } @@ -30,11 +32,12 @@ class AccountItems AccountItem::pointer mOfType; std::vector mItems; - void fillItems(uint160& accountID, Ledger::ref ledger); + void fillItems(const uint160& accountID, Ledger::ref ledger); + public: - AccountItems(uint160& accountID, Ledger::ref ledger, AccountItem::pointer ofType); - AccountItems(uint160& accountID, AccountItem::pointer ofType ); // looks in the current ledger + AccountItems(const uint160& accountID, Ledger::ref ledger, AccountItem::pointer ofType); + AccountItems(const uint160& accountID, AccountItem::pointer ofType ); // looks in the current ledger std::vector& getItems() { return(mItems); } }; diff --git a/src/cpp/ripple/Offer.cpp b/src/cpp/ripple/Offer.cpp index 8df29139b..e7031c43c 100644 --- a/src/cpp/ripple/Offer.cpp +++ b/src/cpp/ripple/Offer.cpp @@ -1,6 +1,6 @@ #include "Offer.h" -AccountItem::pointer Offer::makeItem(uint160& ,SerializedLedgerEntry::pointer ledgerEntry) +AccountItem::pointer Offer::makeItem(const uint160& ,SerializedLedgerEntry::ref ledgerEntry) { if (!mLedgerEntry || mLedgerEntry->getType() != ltOFFER) return(AccountItem::pointer()); Offer* offer=new Offer(ledgerEntry); diff --git a/src/cpp/ripple/Offer.h b/src/cpp/ripple/Offer.h index 6b2693bda..815cfde09 100644 --- a/src/cpp/ripple/Offer.h +++ b/src/cpp/ripple/Offer.h @@ -11,7 +11,7 @@ class Offer : public AccountItem Offer(SerializedLedgerEntry::pointer ledgerEntry); // For accounts in a ledger public: Offer(){} - AccountItem::pointer makeItem(uint160&, SerializedLedgerEntry::pointer ledgerEntry); + AccountItem::pointer makeItem(const uint160&, SerializedLedgerEntry::ref ledgerEntry); LedgerEntryType getType(){ return(ltOFFER); } STAmount getTakerPays(){ return(mTakerPays); } diff --git a/src/cpp/ripple/RippleState.cpp b/src/cpp/ripple/RippleState.cpp index c7bb2b499..47033e228 100644 --- a/src/cpp/ripple/RippleState.cpp +++ b/src/cpp/ripple/RippleState.cpp @@ -1,7 +1,7 @@ #include "RippleState.h" -AccountItem::pointer RippleState::makeItem(uint160& accountID, SerializedLedgerEntry::pointer ledgerEntry) +AccountItem::pointer RippleState::makeItem(const uint160& accountID, SerializedLedgerEntry::ref ledgerEntry) { if (!mLedgerEntry || mLedgerEntry->getType() != ltRIPPLE_STATE) return(AccountItem::pointer()); RippleState* rs=new RippleState(ledgerEntry); @@ -10,7 +10,7 @@ AccountItem::pointer RippleState::makeItem(uint160& accountID, SerializedLedgerE return(AccountItem::pointer(rs)); } -RippleState::RippleState(SerializedLedgerEntry::pointer ledgerEntry) : AccountItem(ledgerEntry), +RippleState::RippleState(SerializedLedgerEntry::ref ledgerEntry) : AccountItem(ledgerEntry), mValid(false), mViewLowest(true) { diff --git a/src/cpp/ripple/RippleState.h b/src/cpp/ripple/RippleState.h index 7886e905f..f7edcbe1e 100644 --- a/src/cpp/ripple/RippleState.h +++ b/src/cpp/ripple/RippleState.h @@ -33,10 +33,10 @@ private: bool mValid; bool mViewLowest; - RippleState(SerializedLedgerEntry::pointer ledgerEntry); // For accounts in a ledger + RippleState(SerializedLedgerEntry::ref ledgerEntry); // For accounts in a ledger public: RippleState(){ } - AccountItem::pointer makeItem(uint160& accountID, SerializedLedgerEntry::pointer ledgerEntry); + AccountItem::pointer makeItem(const uint160& accountID, SerializedLedgerEntry::ref ledgerEntry); LedgerEntryType getType(){ return(ltRIPPLE_STATE); } void setViewAccount(const uint160& accountID); diff --git a/src/cpp/ripple/Transaction.h b/src/cpp/ripple/Transaction.h index f56fbbc96..35d33b91a 100644 --- a/src/cpp/ripple/Transaction.h +++ b/src/cpp/ripple/Transaction.h @@ -44,6 +44,7 @@ class Transaction : public boost::enable_shared_from_this, private { public: typedef boost::shared_ptr pointer; + typedef const pointer& ref; private: uint256 mTransactionID; @@ -96,7 +97,7 @@ public: void setLedger(uint32 ledger) { mInLedger = ledger; } // database functions - static void saveTransaction(const Transaction::pointer&); + static void saveTransaction(Transaction::ref); bool save(); static Transaction::pointer load(const uint256& id); static Transaction::pointer findFrom(const RippleAddress& fromID, uint32 seq);