| 8117 | namespace Catch { |
| 8118 | |
| 8119 | class Context : public IMutableContext, NonCopyable { |
| 8120 | |
| 8121 | public: // IContext |
| 8122 | virtual IResultCapture* getResultCapture() override { |
| 8123 | return m_resultCapture; |
| 8124 | } |
| 8125 | virtual IRunner* getRunner() override { |
| 8126 | return m_runner; |
| 8127 | } |
| 8128 | |
| 8129 | virtual IConfigPtr const& getConfig() const override { |
| 8130 | return m_config; |
| 8131 | } |
| 8132 | |
| 8133 | virtual ~Context() override; |
| 8134 | |
| 8135 | public: // IMutableContext |
| 8136 | virtual void setResultCapture( IResultCapture* resultCapture ) override { |
| 8137 | m_resultCapture = resultCapture; |
| 8138 | } |
| 8139 | virtual void setRunner( IRunner* runner ) override { |
| 8140 | m_runner = runner; |
| 8141 | } |
| 8142 | virtual void setConfig( IConfigPtr const& config ) override { |
| 8143 | m_config = config; |
| 8144 | } |
| 8145 | |
| 8146 | friend IMutableContext& getCurrentMutableContext(); |
| 8147 | |
| 8148 | private: |
| 8149 | IConfigPtr m_config; |
| 8150 | IRunner* m_runner = nullptr; |
| 8151 | IResultCapture* m_resultCapture = nullptr; |
| 8152 | }; |
| 8153 | |
| 8154 | IMutableContext *IMutableContext::currentContext = nullptr; |
| 8155 |
nothing calls this directly
no outgoing calls
no test coverage detected