From: cantor Date: Mon, 20 Sep 2010 14:19:18 +0000 (+0000) Subject: Add init/term methods. X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fresolver.git;a=commitdiff_plain;h=75ec64fc146d86e9086812bb9d6376f40736a43e;hp=77ec9aafb9ea24c6468c9ee4e61dc362bbf54174 Add init/term methods. git-svn-id: https://svn.middleware.georgetown.edu/shib-extension/cpp-sp-resolver/trunk@271 3ebe4818-3638-0410-822d-ece5924dabe2 --- diff --git a/shibresolver/resolver.cpp b/shibresolver/resolver.cpp index dfea7c3..f8acdc7 100644 --- a/shibresolver/resolver.cpp +++ b/shibresolver/resolver.cpp @@ -121,6 +121,27 @@ void RemotedResolver::receive(DDF& in, ostream& out) { } +bool ShibbolethResolver::init(unsigned long features, const char* config, bool rethrow) +{ + SPConfig::getConfig().setFeatures(features | SPConfig::AttributeResolution | SPConfig::Metadata | SPConfig::Trust); + if (!SPConfig::getConfig().init()) + return false; + if (!SPConfig::getConfig().instantiate(config, rethrow)) + return false; + return true; +} + +/** + * Shuts down runtime. + * + * Each process using the library SHOULD call this function exactly once before terminating itself. + */ +void ShibbolethResolver::term() +{ + SPConfig::getConfig().term(); +} + + extern "C" int SHIBRESOLVER_EXPORTS xmltooling_extension_init(void*) { #ifdef SHIBRESOLVER_SHIBSP_HAS_REMOTING