Blame examples/ClockerPlugIn/ClockerPlugIn.cpp

Packit 8c9aa0
#include <cppunit/config/SourcePrefix.h>  // disabled unwanted warning on vc++ 6.0
Packit 8c9aa0
#include <cppunit/TestResult.h>
Packit 8c9aa0
#include <cppunit/XmlOutputter.h>
Packit 8c9aa0
#include <cppunit/plugin/TestPlugIn.h>
Packit 8c9aa0
#include "ClockerXmlHook.h"
Packit 8c9aa0
#include "ClockerListener.h"
Packit 8c9aa0
#include "ClockerModel.h"
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
class ClockerPlugIn : public CppUnitTestPlugIn
Packit 8c9aa0
{
Packit 8c9aa0
public:
Packit 8c9aa0
  ClockerPlugIn()
Packit 8c9aa0
    : m_dumper( NULL )
Packit 8c9aa0
    , m_model( NULL )
Packit 8c9aa0
    , m_xmlHook( NULL )
Packit 8c9aa0
  {
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
  ~ClockerPlugIn()
Packit 8c9aa0
  {
Packit 8c9aa0
    delete m_dumper;
Packit 8c9aa0
    delete m_model;
Packit 8c9aa0
    delete m_xmlHook;
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void initialize( CPPUNIT_NS::TestFactoryRegistry *registry,
Packit 8c9aa0
                   const CPPUNIT_NS::PlugInParameters &parameters )
Packit 8c9aa0
  {
Packit 8c9aa0
    bool text = false;
Packit 8c9aa0
    if ( parameters.getCommandLine() == "text" )
Packit 8c9aa0
      text = true;
Packit 8c9aa0
Packit 8c9aa0
    m_model = new ClockerModel();
Packit 8c9aa0
    m_dumper = new ClockerListener( m_model, text );
Packit 8c9aa0
    m_xmlHook = new ClockerXmlHook( m_model );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void addListener( CPPUNIT_NS::TestResult *eventManager )
Packit 8c9aa0
  {
Packit 8c9aa0
    eventManager->addListener( m_dumper );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void removeListener( CPPUNIT_NS::TestResult *eventManager )
Packit 8c9aa0
  {
Packit 8c9aa0
    eventManager->removeListener( m_dumper );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void addXmlOutputterHooks( CPPUNIT_NS::XmlOutputter *outputter )
Packit 8c9aa0
  {
Packit 8c9aa0
    outputter->addHook( m_xmlHook );
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void removeXmlOutputterHooks()
Packit 8c9aa0
  {
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
  void uninitialize( CPPUNIT_NS::TestFactoryRegistry *registry )
Packit 8c9aa0
  {
Packit 8c9aa0
  }
Packit 8c9aa0
Packit 8c9aa0
private:
Packit 8c9aa0
  ClockerListener *m_dumper;
Packit 8c9aa0
  ClockerModel *m_model;
Packit 8c9aa0
  ClockerXmlHook *m_xmlHook;
Packit 8c9aa0
};
Packit 8c9aa0
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_PLUGIN_EXPORTED_FUNCTION_IMPL( ClockerPlugIn );
Packit 8c9aa0
Packit 8c9aa0
CPPUNIT_PLUGIN_IMPLEMENT_MAIN();