Files
envi-code/SourceCode/Code2026/tg_shs/shs_siteplan/GlwGlobalVariable.h
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

48 lines
1.1 KiB
C++

#pragma once
class GlwUGRampDataManage;
class GlwPlaceTreeDataManage;
class CLandScapeStyle;
class CCoordGridDataManage;
template <class T>
void deletePtr (T* &ptr)
{
if (!ptr) return;
delete ptr;
ptr = NULL;
};
#define DECLARE_GLOBAL_VARIABLE(class_name)\
private:\
class_name *m_p##class_name;\
public:\
void Set_##class_name(class_name *ptr){m_p##class_name = ptr;}\
class_name* Get_##class_name(){return m_p##class_name;}
#define CONSTRUCT_GLOBAL_VARIABLE(class_name)\
m_p##class_name(NULL)
#define DESTRUCT_GLOBAL_VARIABLE(class_name)\
deletePtr(m_p##class_name);
class GlwGlobalVariable
{
public:
GlwGlobalVariable(void);
~GlwGlobalVariable(void);
DECLARE_GLOBAL_VARIABLE(GlwPlaceTreeDataManage);
DECLARE_GLOBAL_VARIABLE(CLandScapeStyle);
DECLARE_GLOBAL_VARIABLE(GlwUGRampDataManage);
DECLARE_GLOBAL_VARIABLE(CCoordGridDataManage);
};
extern GlwGlobalVariable *pGlobalVariable;
#define GET_GLOBAL_VARIABLE(class_name)\
pGlobalVariable->Get_##class_name()
#define SET_GLOBAL_VARIABLE(class_name, ptr)\
pGlobalVariable->Set_##class_name(ptr)