summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/CppUnit/src/ProtectorChain.cpp')
m---------3rdParty/CppUnit0
-rw-r--r--3rdParty/CppUnit/src/ProtectorChain.cpp86
2 files changed, 0 insertions, 86 deletions
diff --git a/3rdParty/CppUnit b/3rdParty/CppUnit
new file mode 160000
+Subproject b4c34eb947c6497c6387c55c7581ec875f4e7d4
diff --git a/3rdParty/CppUnit/src/ProtectorChain.cpp b/3rdParty/CppUnit/src/ProtectorChain.cpp
deleted file mode 100644
index f528341..0000000
--- a/3rdParty/CppUnit/src/ProtectorChain.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-#include "ProtectorChain.h"
-
-CPPUNIT_NS_BEGIN
-
-
-class ProtectorChain::ProtectFunctor : public Functor
-{
-public:
- ProtectFunctor( Protector *protector,
- const Functor &functor,
- const ProtectorContext &context )
- : m_protector( protector )
- , m_functor( functor )
- , m_context( context )
- {
- }
-
- bool operator()() const
- {
- return m_protector->protect( m_functor, m_context );
- }
-
-private:
- Protector *m_protector;
- const Functor &m_functor;
- const ProtectorContext &m_context;
-};
-
-
-ProtectorChain::~ProtectorChain()
-{
- while ( count() > 0 )
- pop();
-}
-
-
-void
-ProtectorChain::push( Protector *protector )
-{
- m_protectors.push_back( protector );
-}
-
-
-void
-ProtectorChain::pop()
-{
- delete m_protectors.back();
- m_protectors.pop_back();
-}
-
-int
-ProtectorChain::count() const
-{
- return m_protectors.size();
-}
-
-
-bool
-ProtectorChain::protect( const Functor &functor,
- const ProtectorContext &context )
-{
- if ( m_protectors.empty() )
- return functor();
-
- Functors functors;
- for ( int index = m_protectors.size()-1; index >= 0; --index )
- {
- const Functor &protectedFunctor =
- functors.empty() ? functor : *functors.back();
-
- functors.push_back( new ProtectFunctor( m_protectors[index],
- protectedFunctor,
- context ) );
- }
-
- const Functor &outermostFunctor = *functors.back();
- bool succeed = outermostFunctor();
-
- for ( unsigned int deletingIndex = 0; deletingIndex < m_protectors.size(); ++deletingIndex )
- delete functors[deletingIndex];
-
- return succeed;
-}
-
-
-CPPUNIT_NS_END