packages feed

HROOT-core-0.8: csrc/HROOTCoreTApplication.h

#ifdef __cplusplus
extern "C" { 
#endif 

#ifndef __HROOT_CORE__TApplication__
#define __HROOT_CORE__TApplication__

#include "HROOT-coreType.h"

#include "HROOTCoreTObject.h"
#include "HROOTCoreTQObject.h"
#include "HROOTCoreDeletable.h"

#undef TAPPLICATION_DECL_VIRT
#define TAPPLICATION_DECL_VIRT(Type) \
void Type ## _Run ( Type ## _p p, int retrn )

#undef TAPPLICATION_DECL_NONVIRT
#define TAPPLICATION_DECL_NONVIRT(Type) \
Type ## _p Type ## _newTApplication ( const char* appClassName, int* argc, char** argv )

#undef TAPPLICATION_DEF_VIRT
#define TAPPLICATION_DEF_VIRT(Type)\
void Type ## _Run ( Type ## _p p, int retrn )\
{\
TYPECASTMETHOD(Type,Run,TApplication)(p)->Run(retrn);\
}

#undef TAPPLICATION_DEF_NONVIRT
#define TAPPLICATION_DEF_NONVIRT(Type)\
Type ## _p Type ## _newTApplication ( const char* appClassName, int* argc, char** argv )\
{\
Type * newp = new Type (appClassName, argc, argv); \
return to_nonconst<Type ## _t, Type >(newp);\
}

TOBJECT_DECL_VIRT(TApplication);
TQOBJECT_DECL_VIRT(TApplication);
DELETABLE_DECL_VIRT(TApplication);


TAPPLICATION_DECL_VIRT(TApplication);


TAPPLICATION_DECL_NONVIRT(TApplication);


#endif // __HROOT_CORE__TApplication__

#ifdef __cplusplus
}
#endif