diff --git a/modules/ripple_basics/utility/ripple_CountedObject.h b/modules/ripple_basics/utility/ripple_CountedObject.h index 8aca24a5a..897eee350 100644 --- a/modules/ripple_basics/utility/ripple_CountedObject.h +++ b/modules/ripple_basics/utility/ripple_CountedObject.h @@ -101,8 +101,6 @@ public: getCounter ().decrement (); } - virtual char const* getCountedObjectName () = 0; - private: class Counter : public CountedObjects::CounterBase { @@ -111,23 +109,13 @@ private: char const* getName () const noexcept { - return getClassName (); + return Object::getCountedObjectName (); } void checkPureVirtual () const { } }; private: - /* Due to a bug in Visual Studio 10 and earlier, the string returned by - typeid().name() will appear to leak on exit. Therefore, we should - only call this function when there's an actual leak, or else there - will be spurious leak notices at exit. - */ - static char const* getClassName () noexcept - { - return typeid (Object).name (); - } - static Counter& getCounter () noexcept { // VFALCO TODO Research the thread safety of static initializers diff --git a/modules/ripple_data/protocol/ripple_SerializedObject.h b/modules/ripple_data/protocol/ripple_SerializedObject.h index 7fd24396e..0e8bd79be 100644 --- a/modules/ripple_data/protocol/ripple_SerializedObject.h +++ b/modules/ripple_data/protocol/ripple_SerializedObject.h @@ -12,7 +12,7 @@ class STObject , public CountedObject { public: - char const* getCountedObjectName () { return "STObject"; } + static char const* getCountedObjectName () { return "STObject"; } STObject () : mType (NULL) { @@ -325,7 +325,7 @@ class STArray , public CountedObject { public: - char const* getCountedObjectName () { return "STArray"; } + static char const* getCountedObjectName () { return "STArray"; } typedef boost::ptr_vector vector; typedef boost::ptr_vector::iterator iterator; diff --git a/src/cpp/ripple/Ledger.h b/src/cpp/ripple/Ledger.h index 22a97babb..714435568 100644 --- a/src/cpp/ripple/Ledger.h +++ b/src/cpp/ripple/Ledger.h @@ -41,7 +41,7 @@ class Ledger , public CountedObject { public: - char const* getCountedObjectName () { return "Ledger"; } + static char const* getCountedObjectName () { return "Ledger"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/LedgerProposal.h b/src/cpp/ripple/LedgerProposal.h index 2e4228bc0..34b51258f 100644 --- a/src/cpp/ripple/LedgerProposal.h +++ b/src/cpp/ripple/LedgerProposal.h @@ -11,7 +11,7 @@ class LedgerProposal : public CountedObject { public: - char const* getCountedObjectName () { return "LedgerProposal"; } + static char const* getCountedObjectName () { return "LedgerProposal"; } static const uint32 seqLeave = 0xffffffff; // leaving the consensus process diff --git a/src/cpp/ripple/SerializedValidation.h b/src/cpp/ripple/SerializedValidation.h index 67ce0a771..e4aaed02e 100644 --- a/src/cpp/ripple/SerializedValidation.h +++ b/src/cpp/ripple/SerializedValidation.h @@ -12,7 +12,7 @@ class SerializedValidation , public CountedObject { public: - char const* getCountedObjectName () { return "SerializedValidation"; } + static char const* getCountedObjectName () { return "SerializedValidation"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/Transaction.h b/src/cpp/ripple/Transaction.h index bb40b1ee1..66505c5a7 100644 --- a/src/cpp/ripple/Transaction.h +++ b/src/cpp/ripple/Transaction.h @@ -32,7 +32,7 @@ class Transaction , public CountedObject { public: - char const* getCountedObjectName () { return "Transaction"; } + static char const* getCountedObjectName () { return "Transaction"; } typedef boost::shared_ptr pointer; typedef const pointer& ref; diff --git a/src/cpp/ripple/TransactionEngine.h b/src/cpp/ripple/TransactionEngine.h index 6cb63832e..d643811c6 100644 --- a/src/cpp/ripple/TransactionEngine.h +++ b/src/cpp/ripple/TransactionEngine.h @@ -16,7 +16,7 @@ class TransactionEngine : public CountedObject { public: - char const* getCountedObjectName () { return "TransactionEngine"; } + static char const* getCountedObjectName () { return "TransactionEngine"; } private: LedgerEntrySet mNodes; diff --git a/src/cpp/ripple/WSConnection.h b/src/cpp/ripple/WSConnection.h index 9b0da61e0..29011e668 100644 --- a/src/cpp/ripple/WSConnection.h +++ b/src/cpp/ripple/WSConnection.h @@ -24,7 +24,7 @@ class WSConnection , public CountedObject > { public: - char const* getCountedObjectName () { return "WSConnection"; } + static char const* getCountedObjectName () { return "WSConnection"; } typedef typename endpoint_type::connection_type connection; typedef typename boost::shared_ptr connection_ptr; diff --git a/src/cpp/ripple/ripple_HashRouter.cpp b/src/cpp/ripple/ripple_HashRouter.cpp index 5772aaedc..c11c824e1 100644 --- a/src/cpp/ripple/ripple_HashRouter.cpp +++ b/src/cpp/ripple/ripple_HashRouter.cpp @@ -13,7 +13,7 @@ private: class Entry : public CountedObject { public: - char const* getCountedObjectName () { return "HashRouterEntry"; } + static char const* getCountedObjectName () { return "HashRouterEntry"; } Entry () : mFlags (0) diff --git a/src/cpp/ripple/ripple_HashedObject.h b/src/cpp/ripple/ripple_HashedObject.h index 4162a7cb3..0134af07d 100644 --- a/src/cpp/ripple/ripple_HashedObject.h +++ b/src/cpp/ripple/ripple_HashedObject.h @@ -36,7 +36,7 @@ class HashedObject : public CountedObject { public: - char const* getCountedObjectName () { return "HashedObject"; } + static char const* getCountedObjectName () { return "HashedObject"; } typedef boost::shared_ptr pointer; typedef pointer const& ref; diff --git a/src/cpp/ripple/ripple_InboundLedger.h b/src/cpp/ripple/ripple_InboundLedger.h index bc902a661..b5327ffa4 100644 --- a/src/cpp/ripple/ripple_InboundLedger.h +++ b/src/cpp/ripple/ripple_InboundLedger.h @@ -15,7 +15,7 @@ class InboundLedger , public CountedObject { public: - char const* getCountedObjectName () { return "InboundLedger"; } + static char const* getCountedObjectName () { return "InboundLedger"; } typedef boost::shared_ptr pointer; diff --git a/src/cpp/ripple/ripple_InfoSub.h b/src/cpp/ripple/ripple_InfoSub.h index 11439817a..2aa6fa464 100644 --- a/src/cpp/ripple/ripple_InfoSub.h +++ b/src/cpp/ripple/ripple_InfoSub.h @@ -16,7 +16,7 @@ class InfoSub : public CountedObject { public: - char const* getCountedObjectName () { return "InfoSub"; } + static char const* getCountedObjectName () { return "InfoSub"; } typedef boost::shared_ptr pointer; diff --git a/src/cpp/ripple/ripple_LedgerConsensus.h b/src/cpp/ripple/ripple_LedgerConsensus.h index 4c4f74aa5..30f4eca98 100644 --- a/src/cpp/ripple/ripple_LedgerConsensus.h +++ b/src/cpp/ripple/ripple_LedgerConsensus.h @@ -17,7 +17,7 @@ class LedgerConsensus , public CountedObject { public: - char const* getCountedObjectName () { return "LedgerConsensus"; } + static char const* getCountedObjectName () { return "LedgerConsensus"; } LedgerConsensus (LedgerHash const & prevLCLHash, Ledger::ref previousLedger, uint32 closeTime); diff --git a/src/cpp/ripple/ripple_LedgerEntrySet.h b/src/cpp/ripple/ripple_LedgerEntrySet.h index 6bc750f8d..6f1d9be64 100644 --- a/src/cpp/ripple/ripple_LedgerEntrySet.h +++ b/src/cpp/ripple/ripple_LedgerEntrySet.h @@ -36,7 +36,7 @@ class LedgerEntrySetEntry : public CountedObject { public: - char const* getCountedObjectName () { return "LedgerEntrySetEntry"; } + static char const* getCountedObjectName () { return "LedgerEntrySetEntry"; } SLE::pointer mEntry; LedgerEntryAction mAction; @@ -62,7 +62,7 @@ class LedgerEntrySet : public CountedObject { public: - char const* getCountedObjectName () { return "LedgerEntrySet"; } + static char const* getCountedObjectName () { return "LedgerEntrySet"; } LedgerEntrySet (Ledger::ref ledger, TransactionEngineParams tep, bool immutable = false) : mLedger (ledger), mParams (tep), mSeq (0), mImmutable (immutable) diff --git a/src/cpp/ripple/ripple_Peer.cpp b/src/cpp/ripple/ripple_Peer.cpp index 77b372f0b..279f4757f 100644 --- a/src/cpp/ripple/ripple_Peer.cpp +++ b/src/cpp/ripple/ripple_Peer.cpp @@ -24,7 +24,7 @@ class PeerImp : public Peer , public CountedObject { public: - char const* getCountedObjectName () { return "Peer"; } + static char const* getCountedObjectName () { return "Peer"; } PeerImp (boost::asio::io_service & io_service, boost::asio::ssl::context & ctx, diff --git a/src/cpp/ripple/ripple_SHAMap.h b/src/cpp/ripple/ripple_SHAMap.h index c50548324..c71bdfb92 100644 --- a/src/cpp/ripple/ripple_SHAMap.h +++ b/src/cpp/ripple/ripple_SHAMap.h @@ -20,7 +20,7 @@ class SHAMap : public CountedObject { public: - char const* getCountedObjectName () { return "SHAMap"; } + static char const* getCountedObjectName () { return "SHAMap"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/ripple_SHAMapItem.h b/src/cpp/ripple/ripple_SHAMapItem.h index c8759a201..a7c8e29f7 100644 --- a/src/cpp/ripple/ripple_SHAMapItem.h +++ b/src/cpp/ripple/ripple_SHAMapItem.h @@ -12,7 +12,7 @@ class SHAMapItem : public CountedObject { public: - char const* getCountedObjectName () { return "SHAMapItem"; } + static char const* getCountedObjectName () { return "SHAMapItem"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/ripple_SHAMapTreeNode.h b/src/cpp/ripple/ripple_SHAMapTreeNode.h index 8034b719b..2af350e02 100644 --- a/src/cpp/ripple/ripple_SHAMapTreeNode.h +++ b/src/cpp/ripple/ripple_SHAMapTreeNode.h @@ -21,7 +21,7 @@ class SHAMapTreeNode , public CountedObject { public: - char const* getCountedObjectName () { return "SHAMapTreeNode"; } + static char const* getCountedObjectName () { return "SHAMapTreeNode"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/ripple_SerializedLedger.h b/src/cpp/ripple/ripple_SerializedLedger.h index fbff0bbf4..c92c3a403 100644 --- a/src/cpp/ripple/ripple_SerializedLedger.h +++ b/src/cpp/ripple/ripple_SerializedLedger.h @@ -27,7 +27,7 @@ class SerializedLedgerEntry , public CountedObject { public: - char const* getCountedObjectName () { return "SerializedLedgerEntry"; } + static char const* getCountedObjectName () { return "SerializedLedgerEntry"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/ripple_SerializedTransaction.h b/src/cpp/ripple/ripple_SerializedTransaction.h index c70b73e78..7c2a8e336 100644 --- a/src/cpp/ripple/ripple_SerializedTransaction.h +++ b/src/cpp/ripple/ripple_SerializedTransaction.h @@ -21,7 +21,7 @@ class SerializedTransaction , public CountedObject { public: - char const* getCountedObjectName () { return "SerializedTransaction"; } + static char const* getCountedObjectName () { return "SerializedTransaction"; } typedef boost::shared_ptr pointer; typedef const boost::shared_ptr& ref; diff --git a/src/cpp/ripple/ripple_TransactionAcquire.h b/src/cpp/ripple/ripple_TransactionAcquire.h index f679dd19a..de057dd96 100644 --- a/src/cpp/ripple/ripple_TransactionAcquire.h +++ b/src/cpp/ripple/ripple_TransactionAcquire.h @@ -15,7 +15,7 @@ class TransactionAcquire , public CountedObject { public: - char const* getCountedObjectName () { return "TransactionAcquire"; } + static char const* getCountedObjectName () { return "TransactionAcquire"; } typedef boost::shared_ptr pointer;