diff options
author | sz <sz@openoffice.org> | 2001-09-24 12:31:34 +0000 |
---|---|---|
committer | sz <sz@openoffice.org> | 2001-09-24 12:31:34 +0000 |
commit | f087ef032a90bb3aa4daf712eab6be98cd5d6107 (patch) | |
tree | 6aa1da3150abe17ae0c6a2761b389da0470f15ef /sal/inc/rtl/tres.h | |
parent | 157a9d1026c4a224063acc2dd594bf4205d86d5a (diff) |
redesigned TestResult class for implementation hiding
Diffstat (limited to 'sal/inc/rtl/tres.h')
-rw-r--r-- | sal/inc/rtl/tres.h | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/sal/inc/rtl/tres.h b/sal/inc/rtl/tres.h new file mode 100644 index 000000000000..45821ddfdf8b --- /dev/null +++ b/sal/inc/rtl/tres.h @@ -0,0 +1,107 @@ +#ifndef _RTL_TRES_H_ +#define _RTL_TRES_H_ + +#ifndef _OSL_DIAGNOSE_H_ +#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 +#define rtl_tres_Flag_SKIP 0x00000004 +#define rtl_tres_Flag_LOG 0x00000010 +#define rtl_tres_Flag_HIS 0x00000100 +#define rtl_tres_Flag_TIME 0x00000200 +#define rtl_tres_Flag_MSG 0x00000400 + + /* state flags */ +#define rtl_tres_Flag_SUB 0x01000000 +#define rtl_tres_Flag_PASSED 0x10000000 +#define rtl_tres_Flag_OK 0x20000000 + + /* forward declaration and type definitions */ +struct _rtl_TestResult; +typedef struct _rtl_TestResult rtl_TestResult; +typedef void* rtl_funcstate; +typedef void* rtl_cmpstate; + + /* 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 sal_Char* (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 sal_Char* (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 */ +typedef struct _rtl_TestResult +{ + rtl_TestResult_vtable * pFuncs; + void * pExternalData; + +} rtl_TestResult; + + + /* 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 /* _RTL_TRES_H_ */ |