#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTObject.h" #include "HROOTCoreTQObject.h" #include "STDDeletable.h" #define TAPPLICATION_DECL_VIRT(Type) \ void Type##_Run ( Type##_p p, bool retrn ); #define TAPPLICATION_DECL_NONVIRT(Type) \ Type##_p Type##_newTApplication ( const char* appClassName, int* argc, char** argv ); #define TAPPLICATION_DECL_ACCESSOR(Type) \ #define TAPPLICATION_DEF_VIRT(Type) \ void Type##_Run ( Type##_p p, bool retrn ) {\ ((TYPECASTMETHOD(Type, Run, TApplication))(p))->Run(retrn);\ } #define TAPPLICATION_DEF_NONVIRT(Type) \ Type##_p Type##_newTApplication ( const char* appClassName, int* argc, char** argv ) {\ Type* newp=new Type(appClassName, argc, argv);return from_nonconst_to_nonconst(newp);\ } #define TAPPLICATION_DEF_ACCESSOR(Type) \ TOBJECT_DECL_VIRT(TApplication) TQOBJECT_DECL_VIRT(TApplication) DELETABLE_DECL_VIRT(TApplication) TAPPLICATION_DECL_VIRT(TApplication) TAPPLICATION_DECL_NONVIRT(TApplication) TAPPLICATION_DECL_ACCESSOR(TApplication) #ifdef __cplusplus } #endif