From 03e5b0c747e07dbafb5541d3759eb8479baba96c Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 23 Nov 2015 17:06:58 -0500 Subject: [PATCH] Allow ServerContextImpl to be created w/ specific conf. --- src/server/serverContext.cpp | 13 +++++++++++-- src/server/serverContext.h | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/server/serverContext.cpp b/src/server/serverContext.cpp index e1a02a9..a747670 100644 --- a/src/server/serverContext.cpp +++ b/src/server/serverContext.cpp @@ -51,13 +51,22 @@ ServerContextImpl::ServerContextImpl(): epicsSignalInstallSigPipeIgnore (); generateGUID(); - initializeLogger(); - loadConfiguration(); + initializeLogger(); } ServerContextImpl::shared_pointer ServerContextImpl::create() { ServerContextImpl::shared_pointer thisPointer(new ServerContextImpl()); + thisPointer->loadConfiguration(); + return thisPointer; +} + +ServerContextImpl::shared_pointer ServerContextImpl::create( + const Configuration::shared_pointer& conf) +{ + ServerContextImpl::shared_pointer thisPointer(new ServerContextImpl()); + thisPointer->configuration = conf; + thisPointer->loadConfiguration(); return thisPointer; } diff --git a/src/server/serverContext.h b/src/server/serverContext.h index 2dc3fa7..80a3987 100644 --- a/src/server/serverContext.h +++ b/src/server/serverContext.h @@ -116,10 +116,11 @@ class epicsShareClass ServerContextImpl : public: typedef std::tr1::shared_ptr shared_pointer; typedef std::tr1::shared_ptr const_shared_pointer; -protected: +private: ServerContextImpl(); public: static shared_pointer create(); + static shared_pointer create(const Configuration::shared_pointer& conf); virtual ~ServerContextImpl();