Added a simple storage abstraction, and an in-memory sample.
[shibboleth/cpp-xmltooling.git] / xmltooling / XMLToolingConfig.h
index f60a06a..e1ce7f0 100644 (file)
@@ -41,6 +41,7 @@ namespace xmlsignature {
 \r
 namespace xmltooling {\r
     \r
+    class XMLTOOL_API StorageService;\r
     class XMLTOOL_API TrustEngine;\r
     class XMLTOOL_API XSECCryptoX509CRL;\r
 \r
@@ -53,7 +54,9 @@ namespace xmltooling {
      */\r
     class XMLTOOL_API XMLToolingConfig : public Lockable\r
     {\r
-    MAKE_NONCOPYABLE(XMLToolingConfig);\r
+        MAKE_NONCOPYABLE(XMLToolingConfig);\r
+    protected:\r
+        XMLToolingConfig() : clock_skew_secs(180) {}\r
     public:\r
         virtual ~XMLToolingConfig() {}\r
 \r
@@ -127,11 +130,17 @@ namespace xmltooling {
         virtual ParserPool& getValidatingParser() const=0;\r
         \r
         /**\r
-         * Set to catalog files to load into validating parser pool at initialization time.\r
+         * List of catalog files to load into validating parser pool at initialization time.\r
          * Like other path settings, the separator depends on the platform\r
          * (semicolon on Windows, colon otherwise). \r
          */\r
         std::string catalog_path;\r
+        \r
+        /**\r
+         * Adjusts any clock comparisons to be more liberal/permissive by the\r
+         * indicated number of seconds.\r
+         */\r
+        unsigned int clock_skew_secs;\r
 \r
 #ifndef XMLTOOLING_NO_XMLSEC\r
         /**\r
@@ -155,8 +164,10 @@ namespace xmltooling {
         PluginManager<TrustEngine,const DOMElement*> TrustEngineManager;\r
 #endif\r
 \r
-    protected:\r
-        XMLToolingConfig() {}\r
+        /**\r
+         * Manages factories for StorageService plugins.\r
+         */\r
+        PluginManager<StorageService,const DOMElement*> StorageServiceManager;\r
     };\r
 \r
 };\r