* Initializes library\r
* \r
* Each process using the library MUST call this function exactly once\r
- * before using any library classes.\r
+ * before using any library classes. The flag controls whether this is the\r
+ * "dominant" library or not and can allow the SAML library to be loaded\r
+ * as an extension of XMLTooling rather than subsuming it.\r
* \r
+ * @param initXMLTooling true iff this method should initialize the XMLTooling layer\r
* @return true iff initialization was successful \r
*/\r
- virtual bool init()=0;\r
+ virtual bool init(bool initXMLTooling=true)=0;\r
\r
/**\r
* Shuts down library\r
* \r
* Each process using the library SHOULD call this function exactly once\r
- * before terminating itself\r
+ * before terminating itself. The flag controls whether this is the\r
+ * "dominant" library or not and can allow the SAML library to be loaded\r
+ * as an extension of XMLTooling rather than subsuming it.\r
+ * \r
+ * @param termXMLTooling true iff this method should shutdown the XMLTooling layer\r
*/\r
- virtual void term()=0;\r
+ virtual void term(bool termXMLTooling=true)=0;\r
\r
/**\r
* Generate random information using the underlying security library\r