| 
									
										
										
										
											2012-05-10 07:58:48 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  *  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_CONTEXT_H_INCLUDED
 | 
					
						
							|  |  |  | #define TWOBLUECUBES_CATCH_CONTEXT_H_INCLUDED
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-08-07 08:18:48 +01:00
										 |  |  | #include "catch_interfaces_generators.h"
 | 
					
						
							| 
									
										
										
										
											2013-05-28 18:39:32 +01:00
										 |  |  | #include "catch_ptr.hpp"
 | 
					
						
							| 
									
										
										
										
											2012-05-10 07:58:48 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #include <memory>
 | 
					
						
							|  |  |  | #include <vector>
 | 
					
						
							|  |  |  | #include <stdlib.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-15 23:58:23 +01:00
										 |  |  | namespace Catch { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-11-22 19:17:20 +00:00
										 |  |  |     class TestCase; | 
					
						
							| 
									
										
										
										
											2012-09-26 18:36:58 +01:00
										 |  |  |     class Stream; | 
					
						
							| 
									
										
										
										
											2012-05-10 07:58:48 +01:00
										 |  |  |     struct IResultCapture; | 
					
						
							|  |  |  |     struct IRunner; | 
					
						
							| 
									
										
										
										
											2012-08-07 08:18:48 +01:00
										 |  |  |     struct IGeneratorsForTest; | 
					
						
							| 
									
										
										
										
											2012-08-28 08:20:18 +01:00
										 |  |  |     struct IConfig; | 
					
						
							| 
									
										
										
										
											2012-05-10 07:58:48 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |     struct IContext | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-08-13 07:46:10 +01:00
										 |  |  |         virtual ~IContext(); | 
					
						
							| 
									
										
										
										
											2012-05-25 08:52:05 +01:00
										 |  |  |          | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |         virtual IResultCapture& getResultCapture() = 0; | 
					
						
							|  |  |  |         virtual IRunner& getRunner() = 0; | 
					
						
							| 
									
										
										
										
											2013-04-23 18:58:56 +01:00
										 |  |  |         virtual size_t getGeneratorIndex( std::string const& fileInfo, size_t totalSize ) = 0; | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |         virtual bool advanceGeneratorsForCurrentTest() = 0; | 
					
						
							| 
									
										
										
										
											2013-05-28 18:39:32 +01:00
										 |  |  |         virtual Ptr<IConfig> getConfig() const = 0; | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |     }; | 
					
						
							| 
									
										
										
										
											2013-05-28 18:39:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |     struct IMutableContext : IContext | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2012-08-13 07:46:10 +01:00
										 |  |  |         virtual ~IMutableContext(); | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |         virtual void setResultCapture( IResultCapture* resultCapture ) = 0; | 
					
						
							|  |  |  |         virtual void setRunner( IRunner* runner ) = 0; | 
					
						
							| 
									
										
										
										
											2013-05-28 18:39:32 +01:00
										 |  |  |         virtual void setConfig( Ptr<IConfig> const& config ) = 0; | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  |     }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     IContext& getCurrentContext(); | 
					
						
							| 
									
										
										
										
											2012-08-08 08:33:54 +01:00
										 |  |  |     IMutableContext& getCurrentMutableContext(); | 
					
						
							|  |  |  |     void cleanUpContext(); | 
					
						
							| 
									
										
										
										
											2013-04-23 18:58:56 +01:00
										 |  |  |     Stream createStream( std::string const& streamName ); | 
					
						
							| 
									
										
										
										
											2012-05-21 18:52:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-05-10 07:58:48 +01:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif // TWOBLUECUBES_CATCH_CONTEXT_H_INCLUDED
 |