#ifdef __cplusplus
extern "C" {
#endif

#pragma once


#include "HROOT-netType.h"

#include "HROOTCoreTNamed.h"

#include "HROOTCoreTObject.h"

#include "STDDeletable.h"

#include "HROOT-coreType.h"


#define THTTPSERVER_DECL_VIRT(Type) \



#define THTTPSERVER_DECL_NONVIRT(Type) \
Type##_p Type##_newTHttpServer ( const char* engine );\
void Type##_tHttpServer_SetReadOnly ( Type##_p p, bool readonly );


#define THTTPSERVER_DECL_ACCESSOR(Type) \



#define THTTPSERVER_DEF_VIRT(Type) \



#define THTTPSERVER_DEF_NONVIRT(Type) \
Type##_p Type##_newTHttpServer ( const char* engine ) {\
Type* newp=new Type(engine);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\
}\
\
void Type##_tHttpServer_SetReadOnly ( Type##_p p, bool readonly ) {\
((TYPECASTMETHOD(Type, tHttpServer_SetReadOnly, THttpServer))(p))->SetReadOnly(readonly);\
}


#define THTTPSERVER_DEF_ACCESSOR(Type) \



TNAMED_DECL_VIRT(THttpServer)
TOBJECT_DECL_VIRT(THttpServer)
DELETABLE_DECL_VIRT(THttpServer)
THTTPSERVER_DECL_VIRT(THttpServer)
THTTPSERVER_DECL_NONVIRT(THttpServer)
THTTPSERVER_DECL_ACCESSOR(THttpServer)

#ifdef __cplusplus
}
#endif