diff --git a/RippleD.props b/RippleD.props index a8aff17523..c8469dfc94 100644 --- a/RippleD.props +++ b/RippleD.props @@ -15,7 +15,7 @@ USE_LEVELDB;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true Level3 - $(RepoDir)\src\cpp\leveldb;$(RepoDir)\src\cpp\leveldb\include;$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;%(AdditionalIncludeDirectories) + $(RepoDir)\src\cpp\leveldb;$(RepoDir)\src\cpp\leveldb\include;$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;$(RepoDir);%(AdditionalIncludeDirectories) Shlwapi.lib;%(AdditionalDependencies) diff --git a/modules/ripple_basics/ripple_basics.cpp b/modules/ripple_basics/ripple_basics.cpp index 593a621281..23dfb500a5 100644 --- a/modules/ripple_basics/ripple_basics.cpp +++ b/modules/ripple_basics/ripple_basics.cpp @@ -23,3 +23,5 @@ */ #include "ripple_basics.h" + +//#include "src/cpp/ripple/Amount.cpp" diff --git a/modules/ripple_ledger/ripple_ledger.cpp b/modules/ripple_ledger/ripple_ledger.cpp new file mode 100644 index 0000000000..a307a153d4 --- /dev/null +++ b/modules/ripple_ledger/ripple_ledger.cpp @@ -0,0 +1,51 @@ +//------------------------------------------------------------------------------ +/* + Copyright (c) 2011-2013, OpenCoin, Inc. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +//============================================================================== + +/** Add this to get the @ref ripple_ledger module. + + @file ripple_ledger.cpp + @ingroup ripple_ledger +*/ + +#include "ripple_ledger.h" + +#if 0 +#include "src/cpp/ripple/Contract.cpp" +#include "src/cpp/ripple/Operation.cpp" + +#include "src/cpp/ripple/AcceptedLedger.cpp" +#include "src/cpp/ripple/AccountItems.cpp" +#include "src/cpp/ripple/AccountState.cpp" +#endif +#include "src/cpp/ripple/FeatureTable.cpp" +#include "src/cpp/ripple/Ledger.cpp" +#if 0 +#include "src/cpp/ripple/LedgerAcquire.cpp" +#include "src/cpp/ripple/LedgerConsensus.cpp" +#include "src/cpp/ripple/LedgerEntrySet.cpp" +#include "src/cpp/ripple/LedgerFormats.cpp" +#include "src/cpp/ripple/LedgerHistory.cpp" +#include "src/cpp/ripple/LedgerMaster.cpp" +#include "src/cpp/ripple/LedgerProposal.cpp" +#include "src/cpp/ripple/LedgerTiming.cpp" +#include "src/cpp/ripple/Offer.cpp" +#include "src/cpp/ripple/OrderBook.cpp" +#include "src/cpp/ripple/OrderBookDB.cpp" +#include "src/cpp/ripple/RippleCalc.cpp" +#include "src/cpp/ripple/RippleState.cpp" +#endif diff --git a/modules/ripple_ledger/ripple_ledger.h b/modules/ripple_ledger/ripple_ledger.h new file mode 100644 index 0000000000..eef111df99 --- /dev/null +++ b/modules/ripple_ledger/ripple_ledger.h @@ -0,0 +1,37 @@ +//------------------------------------------------------------------------------ +/* + Copyright (c) 2011-2013, OpenCoin, Inc. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ +//============================================================================== + +/** Include this to get the @ref ripple_ledger module. + + @file ripple_ledger.h + @ingroup ripple_ledger +*/ + +/** Ledger classes. + + This module exposes functionality for accessing and processing the ledger. + + @defgroup ripple_ledger +*/ + +#ifndef RIPPLE_LEDGER_H +#define RIPPLE_LEDGER_H + + + +#endif diff --git a/newcoin.vcxproj b/newcoin.vcxproj index 6b3268f35d..849af583c0 100644 --- a/newcoin.vcxproj +++ b/newcoin.vcxproj @@ -168,6 +168,7 @@ + @@ -646,6 +647,7 @@ + diff --git a/newcoin.vcxproj.filters b/newcoin.vcxproj.filters index 7a530d9b5a..e83f634c67 100644 --- a/newcoin.vcxproj.filters +++ b/newcoin.vcxproj.filters @@ -89,6 +89,12 @@ {7f76ce57-c428-487e-97a0-979c0990a81d} + + {505d1e20-ff6a-446b-8ce0-962e11b78820} + + + {c441b367-d096-401f-a3f0-5ac24290d7b7} + @@ -424,15 +430,6 @@ protoc_generated - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_main @@ -457,54 +454,12 @@ 1. Modules\ripple_main - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_net 1. Modules\ripple_net - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_ledger\transactions @@ -568,9 +523,6 @@ 1. Modules\ripple_main - - 1. Modules\ripple_main - 1. Modules\ripple_ledger\contracts @@ -616,9 +568,6 @@ 1. Modules\ripple_ledger\serialization - - 1. Modules\ripple_ledger - 1. Modules\ripple_net @@ -688,6 +637,66 @@ 1. Modules\ripple_basics + + 1. Modules\ripple_basics\diagnostic + + + 1. Modules\ripple_ledger + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + @@ -1050,15 +1059,6 @@ protoc_generated - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_main @@ -1086,54 +1086,12 @@ 1. Modules\ripple_main - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_net 1. Modules\ripple_net - - 1. Modules\ripple_ledger - - - 1. Modules\ripple_ledger - 1. Modules\ripple_ledger\transactions @@ -1188,9 +1146,6 @@ 1. Modules\ripple_main - - 1. Modules\ripple_main - 1. Modules\ripple_ledger\contracts @@ -1236,9 +1191,6 @@ 1. Modules\ripple_ledger\serialization - - 1. Modules\ripple_ledger - 1. Modules\ripple_net @@ -1314,6 +1266,66 @@ 1. Modules\ripple_basics + + 1. Modules\ripple_basics\diagnostic + + + 1. Modules\ripple_ledger + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + + + 1. Modules\ripple_ledger\processing + diff --git a/src/cpp/ripple/FeatureTable.cpp b/src/cpp/ripple/FeatureTable.cpp index e4f99becc7..d5c94b2ec8 100644 --- a/src/cpp/ripple/FeatureTable.cpp +++ b/src/cpp/ripple/FeatureTable.cpp @@ -7,8 +7,6 @@ #include "ValidationCollection.h" #include "HashPrefixes.h" -SETUP_LOG(); - void FeatureTable::addInitialFeatures() { // For each feature this version supports, call enableFeature. @@ -175,13 +173,13 @@ void FeatureTable::reportValidations(const FeatureSet& set) BOOST_FOREACH(const u256_int_pair& it, set.mVotes) { FeatureState& state = mFeatureMap[it.first]; - cLog(lsDEBUG) << "Feature " << it.first.GetHex() << " has " << it.second << " votes, needs " << threshold; + WriteLog (lsDEBUG, FeatureTable) << "Feature " << it.first.GetHex() << " has " << it.second << " votes, needs " << threshold; if (it.second >= threshold) { // we have a majority state.mLastMajority = set.mCloseTime; if (state.mFirstMajority == 0) { - cLog(lsWARNING) << "Feature " << it.first << " attains a majority vote"; + WriteLog (lsWARNING, FeatureTable) << "Feature " << it.first << " attains a majority vote"; state.mFirstMajority = set.mCloseTime; changedFeatures.push_back(it.first); } @@ -190,7 +188,7 @@ void FeatureTable::reportValidations(const FeatureSet& set) { if (state.mFirstMajority != 0) { - cLog(lsWARNING) << "Feature " << it.first << " loses majority vote"; + WriteLog (lsWARNING, FeatureTable) << "Feature " << it.first << " loses majority vote"; state.mFirstMajority = 0; state.mLastMajority = 0; changedFeatures.push_back(it.first); @@ -254,12 +252,12 @@ void FeatureTable::doVoting(Ledger::ref lastClosedLedger, SHAMap::ref initialPos BOOST_FOREACH(const uint256& uFeature, lFeatures) { - cLog(lsWARNING) << "We are voting for feature " << uFeature; + WriteLog (lsWARNING, FeatureTable) << "We are voting for feature " << uFeature; SerializedTransaction trans(ttFEATURE); trans.setFieldAccount(sfAccount, uint160()); trans.setFieldH256(sfFeature, uFeature); uint256 txID = trans.getTransactionID(); - cLog(lsWARNING) << "Vote: " << txID; + WriteLog (lsWARNING, FeatureTable) << "Vote: " << txID; Serializer s; trans.add(s, true); @@ -267,7 +265,7 @@ void FeatureTable::doVoting(Ledger::ref lastClosedLedger, SHAMap::ref initialPos SHAMapItem::pointer tItem = boost::make_shared(txID, s.peekData()); if (!initialPosition->addGiveItem(tItem, true, false)) { - cLog(lsWARNING) << "Ledger already had feature transaction"; + WriteLog (lsWARNING, FeatureTable) << "Ledger already had feature transaction"; } } } @@ -375,19 +373,19 @@ void FeeVote::doValidation(Ledger::ref lastClosedLedger, STObject& validation) { if (lastClosedLedger->getBaseFee() != mTargetBaseFee) { - cLog(lsINFO) << "Voting for base fee of " << mTargetBaseFee; + WriteLog (lsINFO, FeatureTable) << "Voting for base fee of " << mTargetBaseFee; validation.setFieldU64(sfBaseFee, mTargetBaseFee); } if (lastClosedLedger->getReserve(0) != mTargetReserveBase) { - cLog(lsINFO) << "Voting for base resrve of " << mTargetReserveBase; + WriteLog (lsINFO, FeatureTable) << "Voting for base resrve of " << mTargetReserveBase; validation.setFieldU32(sfReserveBase, mTargetReserveBase); } if (lastClosedLedger->getReserveInc() != mTargetReserveIncrement) { - cLog(lsINFO) << "Voting for reserve increment of " << mTargetReserveIncrement; + WriteLog (lsINFO, FeatureTable) << "Voting for reserve increment of " << mTargetReserveIncrement; validation.setFieldU32(sfReserveIncrement, mTargetReserveIncrement); } } @@ -433,7 +431,7 @@ void FeeVote::doVoting(Ledger::ref lastClosedLedger, SHAMap::ref initialPosition (baseReserve != lastClosedLedger->getReserve(0)) || (incReserve != lastClosedLedger->getReserveInc())) { - cLog(lsWARNING) << "We are voting for a fee change: " << baseFee << "/" << baseReserve << "/" << incReserve; + WriteLog (lsWARNING, FeatureTable) << "We are voting for a fee change: " << baseFee << "/" << baseReserve << "/" << incReserve; SerializedTransaction trans(ttFEE); trans.setFieldAccount(sfAccount, uint160()); trans.setFieldU64(sfBaseFee, baseFee); @@ -441,7 +439,7 @@ void FeeVote::doVoting(Ledger::ref lastClosedLedger, SHAMap::ref initialPosition trans.setFieldU32(sfReserveBase, baseReserve); trans.setFieldU32(sfReserveIncrement, incReserve); uint256 txID = trans.getTransactionID(); - cLog(lsWARNING) << "Vote: " << txID; + WriteLog (lsWARNING, FeatureTable) << "Vote: " << txID; Serializer s; trans.add(s, true); @@ -449,7 +447,7 @@ void FeeVote::doVoting(Ledger::ref lastClosedLedger, SHAMap::ref initialPosition SHAMapItem::pointer tItem = boost::make_shared(txID, s.peekData()); if (!initialPosition->addGiveItem(tItem, true, false)) { - cLog(lsWARNING) << "Ledger already had fee change"; + WriteLog (lsWARNING, FeatureTable) << "Ledger already had fee change"; } } } diff --git a/src/cpp/ripple/Log.h b/src/cpp/ripple/Log.h index 5dee1c077d..af0a646664 100644 --- a/src/cpp/ripple/Log.h +++ b/src/cpp/ripple/Log.h @@ -56,7 +56,7 @@ protected: public: LogPartition(const char *name); - bool doLog(LogSeverity s) { return s >= mMinSeverity; } + bool doLog(LogSeverity s) const { return s >= mMinSeverity; } const std::string& getName() const { return mName; } static bool setSeverity(const std::string& partition, LogSeverity severity); @@ -110,6 +110,23 @@ public: static std::string rotateLog(void); }; +//----- + +template +inline LogPartition const& getLogPartition () +{ + static LogPartition logPartition (__FILE__); + return logPartition; +} + +template +inline Log getLog (LogSeverity level) +{ + return Log (level, getLogPartition ()); +} + +#define WriteLog(s, k) if (!getLogPartition ().doLog (s)) do {} while (0); else Log (s, getLogPartition ()) + #endif // vim:ts=4