diff options
Diffstat (limited to 'sal/inc/rtl/tres.h')
-rw-r--r-- | sal/inc/rtl/tres.h | 98 |
1 files changed, 80 insertions, 18 deletions
diff --git a/sal/inc/rtl/tres.h b/sal/inc/rtl/tres.h index 9ecbb00e6714..0555f741bd67 100644 --- a/sal/inc/rtl/tres.h +++ b/sal/inc/rtl/tres.h @@ -5,6 +5,14 @@ #include <osl/diagnose.h> #endif +#ifndef _RTL_STRING_H_ +#include <rtl/string.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + /* comandline flags */ #define rtl_tres_Flag_BOOM 0x00000001 #define rtl_tres_Flag_VERBOSE 0x00000002 @@ -19,30 +27,84 @@ #define rtl_tres_Flag_PASSED 0x10000000 #define rtl_tres_Flag_OK 0x20000000 -#ifdef __cplusplus -extern "C" { -#endif -typedef void* rtlTestResult; -rtlTestResult SAL_CALL rtl_tres_create - ( - const sal_Char* meth, - sal_uInt32 flags - ); + /* forward declaration and type definition */ +struct _rtl_TestResult; +typedef struct _rtl_TestResult rtl_TestResult; + -sal_Bool SAL_CALL rtl_tres_state - ( - rtlTestResult res, - sal_Bool bSuccess, - sal_Char* pTestMsg, - sal_Char* pFuncName - ); +typedef void* rtl_funcstate; +typedef void* rtl_cmpstate; -sal_Bool SAL_CALL rtl_tres_destroy( rtlTestResult res ); + /* type definitions of function pointers wich can be overloaded */ +typedef sal_Bool (SAL_CALL *rtl_tres_state_ptr)( + rtl_TestResult*, + sal_Bool, + const sal_Char*, + const sal_Char*, + sal_Bool + ); + +typedef void (SAL_CALL *rtl_tres_end_ptr)( rtl_TestResult*, const sal_Char* ); +typedef sal_Bool (SAL_CALL *rtl_tres_ispassed_ptr)( rtl_TestResult* ); +typedef sal_Bool (SAL_CALL *rtl_tres_isok_ptr)( rtl_TestResult* ); +typedef rtl_funcstate (SAL_CALL *rtl_tres_funcstate_ptr)( rtl_TestResult* ); +typedef sal_Bool (SAL_CALL *rtl_tres_isbit_ptr)( rtl_TestResult*, + sal_uInt32 ); + +typedef rtl_funcstate (SAL_CALL *rtl_tres_getnextfuncstate_ptr) + ( rtl_funcstate ); +typedef rtl_funcstate (SAL_CALL *rtl_tres_getprevfuncstate_ptr) + ( rtl_funcstate ); +typedef sal_uInt32 (SAL_CALL *rtl_tres_getflags_ptr)( rtl_funcstate ); +typedef rtl_String* (SAL_CALL *rtl_tres_getname_ptr)( rtl_funcstate ); +typedef sal_uInt32 (SAL_CALL *rtl_tres_getstart_ptr)( rtl_funcstate ); +typedef sal_uInt32 (SAL_CALL *rtl_tres_getstop_ptr)( rtl_funcstate ); +typedef rtl_cmpstate (SAL_CALL *rtl_tres_getcmpstate_ptr)( rtl_funcstate ); + +typedef sal_Bool (SAL_CALL *rtl_tres_getstat_ptr)( rtl_cmpstate ); +typedef rtl_String* (SAL_CALL *rtl_tres_getmsg_ptr)( rtl_cmpstate ); +typedef rtl_cmpstate (SAL_CALL *rtl_tres_getnextcmpstate_ptr)( rtl_cmpstate ); + + /* type definition of vtable structure for testresult */ +typedef struct _rtl_TestResult_vtable +{ + sal_uInt32 vtablesize; + rtl_tres_state_ptr state_; + rtl_tres_end_ptr end_; + rtl_tres_ispassed_ptr ispassed; + rtl_tres_isok_ptr isok; + rtl_tres_funcstate_ptr funcstate; + rtl_tres_isbit_ptr isbit; + rtl_tres_getnextfuncstate_ptr nextfuncstate; + rtl_tres_getprevfuncstate_ptr prevfuncstate; + rtl_tres_getflags_ptr flags; + rtl_tres_getname_ptr name; + rtl_tres_getstart_ptr start; + rtl_tres_getstop_ptr stop; + rtl_tres_getcmpstate_ptr cmpstate; + rtl_tres_getstat_ptr stat; + rtl_tres_getmsg_ptr msg; + rtl_tres_getnextcmpstate_ptr nextcmpstate; + +} rtl_TestResult_vtable; + + /* type definition of testresult structure */ +struct _rtl_TestResult +{ + rtl_TestResult_vtable * pFuncs; + void * pExternalData; + +}; + + + /* exports */ +rtl_TestResult* SAL_CALL rtl_tres_create( const sal_Char* meth, sal_uInt32 flags ); +void SAL_CALL rtl_tres_destroy( rtl_TestResult* res ); #ifdef __cplusplus } #endif -#endif +#endif /* _RTL_TRES_H_ */ |