#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTDirectory.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTObject.h" #include "STDDeletable.h" #define TROOT_DECL_VIRT(Type) \ #define TROOT_DECL_NONVIRT(Type) \ TGlobal_p Type##_tROOT_GetGlobal ( Type##_p p, const char* name, bool load );\ bool Type##_tROOT_Initialized ( ); #define TROOT_DECL_ACCESSOR(Type) \ #define TROOT_DEF_VIRT(Type) \ #define TROOT_DEF_NONVIRT(Type) \ TGlobal_p Type##_tROOT_GetGlobal ( Type##_p p, const char* name, bool load ) {\ return from_nonconst_to_nonconst((TGlobal*)((TYPECASTMETHOD(Type, tROOT_GetGlobal, TROOT))(p))->GetGlobal(name, load));\ }\ \ bool Type##_tROOT_Initialized ( ) {\ return TROOT::Initialized();\ } #define TROOT_DEF_ACCESSOR(Type) \ TDIRECTORY_DECL_VIRT(TROOT) TNAMED_DECL_VIRT(TROOT) TOBJECT_DECL_VIRT(TROOT) DELETABLE_DECL_VIRT(TROOT) TROOT_DECL_VIRT(TROOT) TROOT_DECL_NONVIRT(TROOT) TROOT_DECL_ACCESSOR(TROOT) #ifdef __cplusplus } #endif