From 739cde3f2a5e3740dac1dcf7af8417463a7aa89f Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 31 May 2013 17:40:20 -0700 Subject: [PATCH] Use beast::ScopedPointer to hold IFeeVote in Application Conflicts: RippleD.props newcoin.vcxproj.filters src/cpp/ripple/Application.cpp src/cpp/ripple/Application.h --- RippleD.props | 2 +- SConstruct | 14 +++++++++++--- .../beast/Builds/VisualStudio2012/beast.vcxproj | 8 ++++---- .../Builds/VisualStudio2012/beast.vcxproj.filters | 8 ++++---- modules/ripple_basics/ripple_basics.h | 1 + newcoin.sln | 8 ++++++++ newcoin.vcxproj.filters | 3 +++ src/cpp/ripple/Application.cpp | 6 +----- src/cpp/ripple/Application.h | 6 +++--- 9 files changed, 36 insertions(+), 20 deletions(-) diff --git a/RippleD.props b/RippleD.props index 17597548c..4d5516806 100644 --- a/RippleD.props +++ b/RippleD.props @@ -15,7 +15,7 @@ USE_LEVELDB;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true Level3 - $(RepoDir);$(RepoDir)\src\cpp\leveldb;$(RepoDir)\src\cpp\leveldb\include;$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;$(RepoDir)\build\proto;%(AdditionalIncludeDirectories) + $(RepoDir);$(RepoDir)\src\cpp\leveldb;$(RepoDir)\src\cpp\leveldb\include;$(RepoDir)\src\cpp\protobuf\src;$(RepoDir)\src\cpp\protobuf\vsprojects;$(RepoDir)\build\proto;$(RepoDir)\Subtrees\beast;%(AdditionalIncludeDirectories) /bigobj %(AdditionalOptions) diff --git a/SConstruct b/SConstruct index fe051edb3..b5c26e003 100644 --- a/SConstruct +++ b/SConstruct @@ -110,6 +110,7 @@ env.Append(CXXFLAGS = ['-DUSE_LEVELDB']) env.Append(CPPPATH = [ 'src/cpp/leveldb', 'src/cpp/leveldb/port', 'src/cpp/leveldb/include']) env.Append(CPPPATH = [ 'build/proto']) env.Append(CPPPATH = [ '.', 'src/cpp/ripple']) +env.Append(CPPPATH = [ 'Subtrees/beast' ]) if (int(GCC_VERSION[0]) > 4 or (int(GCC_VERSION[0]) == 4 and int(GCC_VERSION[1]) >= 7)): env.Append(CXXFLAGS = ['-std=c++11']) @@ -123,16 +124,18 @@ RIPPLE_SRCS = [ 'src/cpp/leveldb_core.cpp', 'src/cpp/websocket_core.cpp', 'modules/ripple_basics/ripple_basics.cpp', - 'modules/ripple_client/ripple_client.cpp', - 'modules/ripple_data/ripple_data.cpp', + 'modules/ripple_client/ripple_client.cpp', + 'modules/ripple_data/ripple_data.cpp', 'modules/ripple_db/ripple_db.cpp', 'modules/ripple_json/ripple_json.cpp', 'modules/ripple_ledger/ripple_ledger.cpp', 'modules/ripple_main/ripple_main.cpp', 'modules/ripple_mess/ripple_mess.cpp', - 'modules/ripple_net/ripple_net.cpp' + 'modules/ripple_net/ripple_net.cpp', + 'Subtrees/beast/modules/beast_core/beast_core.cpp' ] +# VFALCO: TODO, Remove these ugly loops and just extract the data from RIPPLE_SRCS for the call to VariantDir() # Put objects files in their own directory. for dir in ['.', 'ripple', 'database', 'json', 'leveldb/db', 'leveldb/port', 'leveldb/include', 'leveldb/table', 'leveldb/util', 'websocketpp']: VariantDir('build/obj/'+dir, 'src/cpp/'+dir, duplicate=0) @@ -150,6 +153,11 @@ for dir in [ ]: VariantDir('build/obj/'+dir, 'modules/'+dir, duplicate=0) +for dir in [ + 'beast_core' + ]: + VariantDir('build/obj/'+dir, 'Subtrees/beast/modules/'+dir, duplicate=0) + PROTO_SRCS = env.Protoc([], 'src/cpp/ripple/ripple.proto', PROTOCOUTDIR='build/proto', PROTOCPYTHONOUTDIR=None) env.Clean(PROTO_SRCS, 'site_scons/site_tools/protoc.pyc') # PROTO_SRCS = [ 'src/cpp/protobuf_core.cpp' ] diff --git a/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj b/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj index 7c01d0f2c..9fe1e1d3b 100644 --- a/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj +++ b/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj @@ -12,15 +12,15 @@ - + - - + + - + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535} diff --git a/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj.filters b/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj.filters index 8641a2542..d690caaf4 100644 --- a/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj.filters +++ b/Subtrees/beast/Builds/VisualStudio2012/beast.vcxproj.filters @@ -3,7 +3,7 @@ - + beast_core @@ -16,15 +16,15 @@ - + beast_core\memory - + beast_core - + beast_core diff --git a/modules/ripple_basics/ripple_basics.h b/modules/ripple_basics/ripple_basics.h index 80f88ac66..bc120b1bc 100644 --- a/modules/ripple_basics/ripple_basics.h +++ b/modules/ripple_basics/ripple_basics.h @@ -122,6 +122,7 @@ namespace boost { #include // For HashUtilities #include // For HashUtilities +#include "modules/beast_core/beast_core.h" #include "../ripple_json/ripple_json.h" diff --git a/newcoin.sln b/newcoin.sln index e4ca352a2..ee369eb98 100644 --- a/newcoin.sln +++ b/newcoin.sln @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Express 2012 for Windows Desktop Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "newcoin", "newcoin.vcxproj", "{19465545-42EE-42FA-9CC8-F8975F8F1CC7}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "beast", "Subtrees\beast\Builds\VisualStudio2012\beast.vcxproj", "{73C5A0F0-7629-4DE7-9194-BE7AC6C19535}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -18,6 +20,12 @@ Global {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|Win32.ActiveCfg = Release|Win32 {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|Win32.Build.0 = Release|Win32 {19465545-42EE-42FA-9CC8-F8975F8F1CC7}.Release|x64.ActiveCfg = Release|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Debug|Win32.ActiveCfg = Debug|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Debug|Win32.Build.0 = Debug|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Debug|x64.ActiveCfg = Debug|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Release|Win32.ActiveCfg = Release|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Release|Win32.Build.0 = Release|Win32 + {73C5A0F0-7629-4DE7-9194-BE7AC6C19535}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/newcoin.vcxproj.filters b/newcoin.vcxproj.filters index ba1b56c5d..aa4fded31 100644 --- a/newcoin.vcxproj.filters +++ b/newcoin.vcxproj.filters @@ -4,6 +4,9 @@ {475c5b33-c9b5-415f-89df-fb9961f3b57c} + + {290b7b39-a4e6-4b8b-b464-d1e458562fdd} + {60c3631e-8855-4a61-bdd3-9892d96242d5} diff --git a/src/cpp/ripple/Application.cpp b/src/cpp/ripple/Application.cpp index 96e0fcd9a..c06f56844 100644 --- a/src/cpp/ripple/Application.cpp +++ b/src/cpp/ripple/Application.cpp @@ -23,7 +23,7 @@ SETUP_LOG (Application) LogPartition AutoSocketPartition("AutoSocket"); Application* theApp = NULL; -Application::Application() +Application::Application () : mIOService ((theConfig.NODE_SIZE >= 2) ? 2 : 1) , mIOWork (mIOService) , mAuxWork (mAuxService) @@ -414,10 +414,6 @@ void Application::sweep() Application::~Application() { - delete mValidations; - delete mFeeTrack; - delete mFeeVote; - delete mTxnDB; delete mLedgerDB; delete mWalletDB; diff --git a/src/cpp/ripple/Application.h b/src/cpp/ripple/Application.h index 3b775195c..a102f8820 100644 --- a/src/cpp/ripple/Application.h +++ b/src/cpp/ripple/Application.h @@ -64,9 +64,9 @@ class Application OrderBookDB mOrderBookDB; // VFALCO: Clean stuff - IFeeVote* mFeeVote; - ILoadFeeTrack* mFeeTrack; - IValidations* mValidations; + beast::ScopedPointer mFeeVote; + beast::ScopedPointer mFeeTrack; + beast::ScopedPointer mValidations; // VFALCO: End Clean stuff FeatureTable mFeatureTable;