| /* See COPYING.txt for the full license governing this code. */ |
| /** |
| * \file SDL_visualtest_variators.h |
| * |
| * Header for all the variators that vary input parameters to a SUT application. |
| */ |
| |
| #include "SDL_visualtest_exhaustive_variator.h" |
| #include "SDL_visualtest_random_variator.h" |
| |
| #ifndef _SDL_visualtest_variators_h |
| #define _SDL_visualtest_variators_h |
| |
| /* Set up for C function definitions, even when using C++ */ |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** |
| * Struct that acts like a wrapper around the different types of variators |
| * available. |
| */ |
| typedef struct SDLVisualTest_Variator |
| { |
| /*! Type of the variator */ |
| SDLVisualTest_VariatorType type; |
| /*! union object that stores the variator */ |
| union |
| { |
| SDLVisualTest_ExhaustiveVariator exhaustive; |
| SDLVisualTest_RandomVariator random; |
| } data; |
| } SDLVisualTest_Variator; |
| |
| /** |
| * Initializes the variator object pointed to by \c variator of type \c type |
| * with information from the config object pointed to by \c config. |
| * |
| * \return 1 on success, 0 on failure |
| */ |
| int SDLVisualTest_InitVariator(SDLVisualTest_Variator* variator, |
| SDLVisualTest_SUTConfig* config, |
| SDLVisualTest_VariatorType type, |
| Uint64 seed); |
| |
| /** |
| * Gets the next variation using the variator. |
| * |
| * \return The arguments string representing the variation on success, and |
| * NULL on failure. The pointer returned should not be freed. |
| */ |
| char* SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator); |
| |
| /** |
| * Frees any resources associated with the variator. |
| */ |
| void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator); |
| |
| /* Ends C function definitions when using C++ */ |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* _SDL_visualtest_variators_h */ |