1
0
mirror of https://github.com/catchorg/Catch2.git synced 2025-04-29 20:13:52 +00:00
Catch2/internal/catch_hub.h
2011-01-11 09:13:31 +00:00

50 lines
1.2 KiB
C++

/*
* catch_hub.h
* Catch
*
* Created by Phil on 31/12/2010.
* Copyright 2010 Two Blue Cubes Ltd. All rights reserved.
*
* Distributed under the Boost Software License, Version 1.0. (See accompanying
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
*
*/
#ifndef TWOBLUECUBES_CATCH_HUB_H_INCLUDED
#define TWOBLUECUBES_CATCH_HUB_H_INCLUDED
#include <memory>
#include <vector>
#include "catch_interfaces_reporter.h"
namespace Catch
{
struct TestCaseInfo;
struct IResultCapture;
struct ITestCaseRegistry;
struct IRunner;
class Hub
{
Hub();
static Hub& me();
public:
static void setRunner( IRunner* runner );
static void setResultCapture( IResultCapture* resultCapture );
static IResultCapture& getResultCapture();
static IReporterRegistry& getReporterRegistry();
static ITestCaseRegistry& getTestCaseRegistry();
static IRunner& getRunner();
private:
std::auto_ptr<IReporterRegistry> m_reporterRegistry;
std::auto_ptr<ITestCaseRegistry> m_testCaseRegistry;
IRunner* m_runner;
IResultCapture* m_resultCapture;
};
}
#endif // TWOBLUECUBES_CATCH_HUB_H_INCLUDED