#ifdef __cplusplus extern "C" { #endif #pragma once #include "HROOT-coreType.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTObject.h" #include "STDDeletable.h" #define TDIRECTORY_DECL_VIRT(Type) \ void Type##_Append ( Type##_p p, TObject_p obj, bool replace );\ void Type##_addD ( Type##_p p, TObject_p obj, bool replace );\ int Type##_AppendKey ( Type##_p p, TKey_p key );\ void Type##_Close ( Type##_p p, const char* option );\ TObject_p Type##_Get ( Type##_p p, const char* namecycle );\ bool Type##_cd_TDirectory ( Type##_p p, const char* path ); #define TDIRECTORY_DECL_NONVIRT(Type) \ void Type##_tDirectory_AddDirectory ( bool add );\ bool Type##_tDirectory_AddDirectoryStatus ( ); #define TDIRECTORY_DECL_ACCESSOR(Type) \ #define TDIRECTORY_DEF_VIRT(Type) \ void Type##_Append ( Type##_p p, TObject_p obj, bool replace ) {\ ((TYPECASTMETHOD(Type, Append, TDirectory))(p))->Append(from_nonconst_to_nonconst(obj), replace);\ }\ \ void Type##_addD ( Type##_p p, TObject_p obj, bool replace ) {\ ((TYPECASTMETHOD(Type, addD, TDirectory))(p))->Add(from_nonconst_to_nonconst(obj), replace);\ }\ \ int Type##_AppendKey ( Type##_p p, TKey_p key ) {\ return ((TYPECASTMETHOD(Type, AppendKey, TDirectory))(p))->AppendKey(from_nonconst_to_nonconst(key));\ }\ \ void Type##_Close ( Type##_p p, const char* option ) {\ ((TYPECASTMETHOD(Type, Close, TDirectory))(p))->Close(option);\ }\ \ TObject_p Type##_Get ( Type##_p p, const char* namecycle ) {\ return from_nonconst_to_nonconst((TObject*)((TYPECASTMETHOD(Type, Get, TDirectory))(p))->Get(namecycle));\ }\ \ bool Type##_cd_TDirectory ( Type##_p p, const char* path ) {\ return ((TYPECASTMETHOD(Type, cd_TDirectory, TDirectory))(p))->cd(path);\ } #define TDIRECTORY_DEF_NONVIRT(Type) \ void Type##_tDirectory_AddDirectory ( bool add ) {\ TDirectory::AddDirectory(add);\ }\ \ bool Type##_tDirectory_AddDirectoryStatus ( ) {\ return TDirectory::AddDirectoryStatus();\ } #define TDIRECTORY_DEF_ACCESSOR(Type) \ TNAMED_DECL_VIRT(TDirectory) TOBJECT_DECL_VIRT(TDirectory) DELETABLE_DECL_VIRT(TDirectory) TDIRECTORY_DECL_VIRT(TDirectory) TDIRECTORY_DECL_NONVIRT(TDirectory) TDIRECTORY_DECL_ACCESSOR(TDirectory) #ifdef __cplusplus } #endif