Added LOG_MILLIS to Monitor@Test, fixed output format
[spandex:spandex.git] / sct / common / modules / test / sct_testmodule.h
1 /*
2  * Spandex benchmark and test framework.
3  *
4  * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
5  *
6  * Contact: Kari J. Kangas <kari.j.kangas@nokia.com>
7  *
8  *   This framework is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU Lesser General Public License as published by the
10  * Free Software Foundation, version 2.1 of the License.
11  *
12  *   This framework is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
15  * for more details.
16  *
17  *   You should have received a copy of the GNU Lesser General Public License
18  * along with this framework; if not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21
22 #if !defined( __SCT_TESTMODULE_H__ )
23 #define __SCT_TESTMODULE_H__
24
25 #include "sct_types.h"
26
27 #define SCT_MAX_TEST_TIMERS     256
28 /*!
29  *
30  */
31 typedef enum
32 {
33     MONITOR_AVERAGE_FPS,
34     TEST_AVERAGE_FPS,
35     FORCE_AVERAGE_FPS,
36     LOG_AVERAGE_FPS,
37     LOG_MILLIS,    
38     AVERAGE_FPS,
39 } SCTMonitorTest;
40
41 /*!
42  *
43  *
44  */
45 typedef struct
46 {
47     unsigned long               timers[ SCT_MAX_TEST_TIMERS ];
48 } SCTTestModuleContext;
49
50 #if defined( __cplusplus )
51 extern "C" {
52 #endif  /* defined( __cplusplus ) */
53
54     SCTModule*                  sctCreateTestModule( void );
55
56     /* Timers */
57     SCTBoolean                  sctiTestModuleIsValidTimerIndex( SCTTestModuleContext* moduleContext, int index );
58     unsigned long               sctiTestModuleGetTimer( SCTTestModuleContext* moduleContext, int index );
59     void                        sctiTestModuleSetTimer( SCTTestModuleContext* moduleContext, int index, unsigned long v );
60     
61 #if defined( __cplusplus )
62 }
63 #endif  /* defined( __cplusplus ) */
64
65 #endif /* !defined( __SCT_TESTMODULE_H__ ) */