summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2011-06-30 15:59:34 +0100
committerCaolán McNamara <caolanm@redhat.com>2011-06-30 15:59:34 +0100
commit4355a7843e156b189214bed35b93b86439a68064 (patch)
tree6e73ccf9da53df411808433de24798205bd76e58
parent5a85cf5045d449e29b202ea32016da4ec664d6c0 (diff)
extend CppUnit::Protector for context-less protection
-rw-r--r--sal/inc/cppunittester/protectorfactory.hxx22
-rw-r--r--sal/inc/sal/cppunit.h12
2 files changed, 26 insertions, 8 deletions
diff --git a/sal/inc/cppunittester/protectorfactory.hxx b/sal/inc/cppunittester/protectorfactory.hxx
index c309dbe8aa85..916f89f74d40 100644
--- a/sal/inc/cppunittester/protectorfactory.hxx
+++ b/sal/inc/cppunittester/protectorfactory.hxx
@@ -32,14 +32,20 @@
#include "sal/types.h"
-namespace CppUnit { class Protector; }
-
-namespace cppunittester {
-
-// The type of CppUnit::Protector factory functions that can be plugged into
-// cppunittester:
-extern "C" typedef CppUnit::Protector * SAL_CALL ProtectorFactory();
-
+#include <cppunit/Protector.h>
+
+namespace cppunittester
+{
+ class LibreOfficeProtector : public CppUnit::Protector
+ {
+ public:
+ virtual bool protect(CppUnit::Functor const & functor) = 0;
+ using CppUnit::Protector::protect;
+ };
+
+ // The type of CppUnit::Protector factory functions that can be plugged into
+ // cppunittester:
+ extern "C" typedef LibreOfficeProtector * SAL_CALL ProtectorFactory();
}
#endif
diff --git a/sal/inc/sal/cppunit.h b/sal/inc/sal/cppunit.h
index d0b3e6099d8a..41c465d6282c 100644
--- a/sal/inc/sal/cppunit.h
+++ b/sal/inc/sal/cppunit.h
@@ -35,6 +35,18 @@
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/plugin/TestPlugIn.h>
+#include <cppunit/Protector.h>
+
+namespace cppunittester
+{
+ class LibreOfficeProtecter : public CppUnit::Protector
+ {
+ public:
+ virtual bool protect(CppUnit::Functor const & functor) = 0;
+ using CppUnit::Protector::protect;
+ };
+}
+
#undef CPPUNIT_PLUGIN_EXPORT
#define CPPUNIT_PLUGIN_EXPORT extern "C" SAL_DLLPUBLIC_EXPORT