Blame examples/cppunittest/SynchronizedTestResult.h

Packit 8c9aa0
#ifndef SYNCHRONIZEDTESTRESULT_H
Packit 8c9aa0
#define SYNCHRONIZEDTESTRESULT_H
Packit 8c9aa0
Packit 8c9aa0
#include <cppunit/TestResultCollector.h>
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
class SynchronizedTestResult : public CPPUNIT_NS::TestResultCollector
Packit 8c9aa0
{
Packit 8c9aa0
public:
Packit 8c9aa0
Packit 8c9aa0
  class SynchronizationObjectListener
Packit 8c9aa0
  {
Packit 8c9aa0
  public:
Packit 8c9aa0
    virtual ~SynchronizationObjectListener() {}
Packit 8c9aa0
    virtual void locked() {}
Packit 8c9aa0
    virtual void unlocked() {}
Packit 8c9aa0
  };
Packit 8c9aa0
Packit 8c9aa0
  class ObservedSynchronizationObject : public CPPUNIT_NS::SynchronizedObject::SynchronizationObject
Packit 8c9aa0
  {
Packit 8c9aa0
  public:
Packit 8c9aa0
    ObservedSynchronizationObject( SynchronizationObjectListener *listener ) :
Packit 8c9aa0
        m_listener( listener )
Packit 8c9aa0
    {
Packit 8c9aa0
    }
Packit 8c9aa0
Packit 8c9aa0
    virtual ~ObservedSynchronizationObject() 
Packit 8c9aa0
    {
Packit 8c9aa0
    }
Packit 8c9aa0
Packit 8c9aa0
    virtual void lock() 
Packit 8c9aa0
    {
Packit 8c9aa0
      m_listener->locked();
Packit 8c9aa0
    }
Packit 8c9aa0
Packit 8c9aa0
    virtual void unlock() 
Packit 8c9aa0
    {
Packit 8c9aa0
      m_listener->unlocked();
Packit 8c9aa0
    }
Packit 8c9aa0
Packit 8c9aa0
  private:
Packit 8c9aa0
    SynchronizationObjectListener *m_listener;
Packit 8c9aa0
  };
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  SynchronizedTestResult( SynchronizationObjectListener *listener )
Packit 8c9aa0
  {
Packit 8c9aa0
    setSynchronizationObject( new ObservedSynchronizationObject( listener ) );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  virtual ~SynchronizedTestResult() {}
Packit 8c9aa0
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
#endif  // SYNCHRONIZEDTESTRESULT_H