Reducing header overuse, non-inlining selected methods (CPPOST-35).
[shibboleth/xmltooling.git] / xmltooling / util / ReloadableXMLFile.cpp
index a28ff5b..0ea5ca5 100644 (file)
@@ -51,6 +51,12 @@ static const XMLCh reloadChanges[] =    UNICODE_LITERAL_13(r,e,l,o,a,d,C,h,a,n,g
 static const XMLCh reloadInterval[] =   UNICODE_LITERAL_14(r,e,l,o,a,d,I,n,t,e,r,v,a,l);\r
 static const XMLCh backingFilePath[] =  UNICODE_LITERAL_15(b,a,c,k,i,n,g,F,i,l,e,P,a,t,h);\r
 \r
+
+ReloadableXMLFile::~ReloadableXMLFile()
+{
+    delete m_lock;
+}
+\r
 ReloadableXMLFile::ReloadableXMLFile(const DOMElement* e, Category& log)\r
     : m_root(e), m_local(true), m_validate(false), m_filestamp(0), m_reloadInterval(0), m_lock(NULL), m_log(log)\r
 {\r
@@ -284,3 +290,14 @@ Lockable* ReloadableXMLFile::lock()
     m_lock->rdlock();\r
     return this;\r
 }\r
+\r
+void ReloadableXMLFile::unlock()
+{
+    if (m_lock)
+        m_lock->unlock();
+}
+\r
+pair<bool,DOMElement*> ReloadableXMLFile::load()
+{
+    return load(false);
+}