X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Futil%2FReloadableXMLFile.cpp;h=0ea5ca586dde8552a97ae2f1831cd2561e7d5296;hb=1b05825adac7bedec6badbc51185fb7692fa4ad8;hp=a28ff5bd285703e8bb7d19c83ab3c4d2ab229376;hpb=0efb36324aa59f242c69f9b437e0256664c7708f;p=shibboleth%2Fxmltooling.git diff --git a/xmltooling/util/ReloadableXMLFile.cpp b/xmltooling/util/ReloadableXMLFile.cpp index a28ff5b..0ea5ca5 100644 --- a/xmltooling/util/ReloadableXMLFile.cpp +++ b/xmltooling/util/ReloadableXMLFile.cpp @@ -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); static const XMLCh backingFilePath[] = UNICODE_LITERAL_15(b,a,c,k,i,n,g,F,i,l,e,P,a,t,h); + +ReloadableXMLFile::~ReloadableXMLFile() +{ + delete m_lock; +} + ReloadableXMLFile::ReloadableXMLFile(const DOMElement* e, Category& log) : m_root(e), m_local(true), m_validate(false), m_filestamp(0), m_reloadInterval(0), m_lock(NULL), m_log(log) { @@ -284,3 +290,14 @@ Lockable* ReloadableXMLFile::lock() m_lock->rdlock(); return this; } + +void ReloadableXMLFile::unlock() +{ + if (m_lock) + m_lock->unlock(); +} + +pair ReloadableXMLFile::load() +{ + return load(false); +}