diff options
-rw-r--r-- | icespider/core/Jamfile.jam | 2 | ||||
-rw-r--r-- | icespider/core/core.cpp | 6 | ||||
-rw-r--r-- | icespider/core/core.h | 3 |
3 files changed, 11 insertions, 0 deletions
diff --git a/icespider/core/Jamfile.jam b/icespider/core/Jamfile.jam index 5dbaf31..13ecc3d 100644 --- a/icespider/core/Jamfile.jam +++ b/icespider/core/Jamfile.jam @@ -1,6 +1,7 @@ lib adhocutil : : : : <include>/usr/include/adhocutil ; lib slicer : : : : <include>/usr/include/slicer ; lib boost_system ; +lib boost_filesystem ; lib icespider-core : [ glob-tree *.cpp : bin ] @@ -9,6 +10,7 @@ lib icespider-core : <library>adhocutil <library>slicer <library>boost_system + <library>boost_filesystem <implicit-dependency>../common : : <include>. diff --git a/icespider/core/core.cpp b/icespider/core/core.cpp index 42aa7c7..3ada79c 100644 --- a/icespider/core/core.cpp +++ b/icespider/core/core.cpp @@ -1,7 +1,10 @@ #include "core.h" #include <Ice/Initialize.h> +#include <boost/filesystem/convenience.hpp> namespace IceSpider { + const boost::filesystem::path Core::defaultConfig("config/ice.properties"); + Core::Core(int argc, char ** argv) { // Big enough to map all the request methods (an empty of zero lenght routes as default) @@ -18,6 +21,9 @@ namespace IceSpider { Ice::InitializationData id; id.properties = Ice::createProperties(argc, argv); + if (boost::filesystem::exists(defaultConfig)) { + id.properties->load(defaultConfig.string()); + } communicator = Ice::initialize(id); } diff --git a/icespider/core/core.h b/icespider/core/core.h index a6c42f6..238f4ae 100644 --- a/icespider/core/core.h +++ b/icespider/core/core.h @@ -5,6 +5,7 @@ #include <vector> #include "irouteHandler.h" #include <Ice/Communicator.h> +#include <boost/filesystem/path.hpp> namespace IceSpider { class DLL_PUBLIC Core { @@ -23,6 +24,8 @@ namespace IceSpider { MethodRoutes routes; Ice::CommunicatorPtr communicator; + + static const boost::filesystem::path defaultConfig; }; } |