From: Scott Cantor Date: Mon, 20 Sep 2010 14:19:18 +0000 (+0000) Subject: Add init/term methods. X-Git-Tag: 1.0.0~38 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=shibboleth%2Fcpp-sp-resolver.git;a=commitdiff_plain;h=2ca1e797032f83b80a9f06e107a1614dc10bda4a Add init/term methods. --- 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