commit 2025-08-29 02:38 add ZCSngtLogData in ZCppMain/ZMainHead.H

This commit is contained in:
2025-08-29 02:39:02 +09:00
parent 1a006ca46c
commit 178cbca5f5

View File

@ -3564,10 +3564,229 @@ namespace ZNsMain
}/*
namespace ZNsConst*/
template<typename TStringData> TStringData& ZftConvertXhtml(TStringData& ARRoCString)
{
/* 데이타를 그대로 클라이언트에 전송하면, HTML 태그와
혼동될 수 있는데, 이를 방지하기 위해 적절히 인코딩한다.
*/
return ARRoCString.
Replace("&" ,"&amp;" ). Replace("<" ,"&lt;" ).
Replace(">" ,"&gt;" ). Replace(" " ,"&nbsp;").
Replace("\n","<br />" );
}/*
template<typename TStringData> TStringData& ConvertXhtml(TStringData& ARRoCString) */
template<typename TStringData> TStringData& ZftMakeXmlAttEnc(TStringData& ARRoCStringData)
{
return ARRoCStringData.
Replace("&" , "&amp;" ).Replace("\r", "&#xA;" ).
Replace("\n", "&#xD;" ).Replace("\t", "&#x9;" ).
Replace("\"", "&quot;").Replace(">" , "&gt;" ).Replace("<", "&lt;");
}/*
template<typename TStringData> TStringData& ZftMakeXmlAttEnc(TStringData& ARRoCStringData)*/
template<typename TStringData> TStringData& ZftMakeXmlAttDec(TStringData& ARRoCStringData)
{
return ARRoCStringData.
Replace("&#xA;" ,"\r" ). Replace("&#xD;" ,"\n").
Replace("&#x9;" ,"\t" ). Replace("&quot;","\"").
Replace("&gt;" ,">" ). Replace("&lt;" ,"<" ). Replace("&amp;" ,"&" );
}/*
template<typename TStringData> TStringData& ZftMakeXmlAttDec(TStringData& ARRoCStringData)*/
template<typename TString, typename TObject>
TString& ZftMakeStr(TString& ARR_SaveCStr, TObject AO_Object)
{ return ARR_SaveCStr; }
////////////////////////////////////////////
template<> string& ZftMakeStr(string& ARR_SaveCStr, const string& AR_DataCStr)
{
ARR_SaveCStr.append(AR_DataCStr); return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, const string& AR_DataCStr)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, long AL_Long)
{
const int CI_BuffSize = 31 ;
char VCA_BuffParam[CI_BuffSize] ;
int VI_ResultSize =
::sprintf(VCA_BuffParam, "%ld", AL_Long);
ARR_SaveCStr.append
(VCA_BuffParam, VI_ResultSize);
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, long AL_Long)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, double AD_Double)
{
const int CI_BuffSize=51 ;
char VCA_BuffParam[CI_BuffSize];
int VI_ResultSize = ::sprintf
(
VCA_BuffParam, "%f", AD_Double
);
/////////////////////////////
ARR_SaveCStr.append
(VCA_BuffParam, VI_ResultSize);
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, double AD_Double)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)
{
if (AB_Bool)
ARR_SaveCStr.append("true" );
else ARR_SaveCStr.append("false");
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)*/
namespace ZNsView
{
class ZCViewLogData
{
public:
virtual void Log(const char* APC_LogData, ZTypLength AI_Length)
{
cout<<APC_LogData ;
}/*
virtual void Log(const char* APC_LogData, ZTypLength AI_Length)*/
virtual void Log(const char* APC_LogData)
{ cout<<APC_LogData; }
virtual void Log(int AI_LogData){ cout<<AI_LogData; }
virtual void Log(long AL_LogData){ cout<<AL_LogData; }
virtual void Log(double AD_LogData){ cout<<AD_LogData; }
virtual void Log(char AC_LogData){ cout<<AC_LogData; }
virtual void Log(bool AB_LogData)
{
cout<<(AB_LogData ? "true" : "false")<<endl;
}/*
virtual void Log(bool AB_LogData)*/
virtual void LogXmlAtt(const char* APC_LogData, ZTypLength AI_Length)
{
__for0(ZTypLength, i, AI_Length)
{
if(APC_LogData[i]=='&' ){cout<<"&amp;" ; continue;}
if(APC_LogData[i]=='\r'){cout<<"&#xA;" ; continue;}
if(APC_LogData[i]=='\n'){cout<<"&#xD;" ; continue;}
if(APC_LogData[i]=='\t'){cout<<"&#x9;" ; continue;}
if(APC_LogData[i]=='\"'){cout<<"&quot;"; continue;}
if(APC_LogData[i]=='>' ){cout<<"&gt;" ; continue;}
if(APC_LogData[i]=='<' ){cout<<"&lt;" ; continue;}
cout<<APC_LogData[i] ;
}/*
__for0(ZTypLength, i, AI_Length)*/
}/*
virtual void LogXmlAtt(const char* APC_LogData, ZTypLength AI_Length)*/
virtual void LogXmlAtt(const char* APC_LogData)
{
LogXmlAtt(APC_LogData, ZftLength(APC_LogData));
}/*
virtual void LogXmlAtt(const char* APC_LogData)*/
public:
};/*
class ZCViewLogData*/
}/*
namespace ZNsView*/
class ZCSngtLogData
{
public :
typedef ZNsView::ZCViewLogData ZCViewLogData;
private:
ZCViewLogData mo_ZCViewLogData;
ZCViewLogData* mp_ZCViewLogData;
private:
ZCSngtLogData() : mp_ZCViewLogData(&mo_ZCViewLogData){}
private:
static ZCSngtLogData& GetSngtObj()
{
static ZCSngtLogData SO_ZCSngtLogData; return SO_ZCSngtLogData;
}/*
static ZCSngtLogData& GetSngtObj()*/
public :
static ZCViewLogData& GetSngtView()
{
return *GetSngtObj().mp_ZCViewLogData;
}/*
static ZCViewLogData& GetSngtView()*/
static void SetSngtView(ZCViewLogData& AR_ViewObj)
{
GetSngtObj().mp_ZCViewLogData = &AR_ViewObj ;
}/*
static void SetSngtView(ZCViewLogData& AR_ViewObj)*/
static void Log(const char* APC_Log, ZTypLength AI_Length)
{
GetSngtView().Log(APC_Log, AI_Length);
}/*
static void Log(const char* APC_Log, ZTypLength AI_Length)*/
static void Log(const char* APC_LogData)
{
GetSngtView().Log( APC_LogData );
}/*
static void Log(const char* APC_LogData)*/
static void Log(int AI_LogData){ GetSngtView().Log(AI_LogData); }
static void Log(long AL_LogData){ GetSngtView().Log(AL_LogData); }
static void Log(double AD_LogData){ GetSngtView().Log(AD_LogData); }
static void Log(char AC_LogData){ GetSngtView().Log(AC_LogData); }
static void Log(bool AB_LogData){ GetSngtView().Log(AB_LogData); }
static void LogXmlAtt(const char* APC_LogData, ZTypLength AI_Length)
{
GetSngtView().LogXmlAtt(APC_LogData, AI_Length);
}/*
static void LogXmlAtt(const char* APC_LogData, ZTypLength AI_Length)*/
static void LogXmlAtt(const char* APC_LogData)
{
GetSngtView().LogXmlAtt(APC_LogData);
}/*
static void LogXmlAtt(const char* APC_LogData)*/
public :
};/*
class ZCSngtLogData*/
}/*
namespace ZNsMain*/
namespace ZNsCPP
{
@ -3665,101 +3884,6 @@ namespace ZNsCPP */
namespace ZNsMain
{
template<typename TString, typename TObject>
TString& ZftMakeStr(TString& ARR_SaveCStr, TObject AO_Object)
{ return ARR_SaveCStr; }
////////////////////////////////////////////
template<> string& ZftMakeStr(string& ARR_SaveCStr, const string& AR_DataCStr)
{
ARR_SaveCStr.append(AR_DataCStr); return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, const string& AR_DataCStr)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, long AL_Long)
{
const int CI_BuffSize = 31 ;
char VCA_BuffParam[CI_BuffSize] ;
int VI_ResultSize =
::sprintf(VCA_BuffParam, "%ld", AL_Long);
ARR_SaveCStr.append
(VCA_BuffParam, VI_ResultSize);
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, long AL_Long)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, double AD_Double)
{
const int CI_BuffSize=51 ;
char VCA_BuffParam[CI_BuffSize];
int VI_ResultSize = ::sprintf
(
VCA_BuffParam, "%f", AD_Double
);
/////////////////////////////
ARR_SaveCStr.append
(VCA_BuffParam, VI_ResultSize);
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, double AD_Double)*/
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)
{
if (AB_Bool)
ARR_SaveCStr.append("true" );
else ARR_SaveCStr.append("false");
return ARR_SaveCStr;
}/*
template<> string& ZftMakeStr(string& ARR_SaveCStr, bool AB_Bool)*/
template<typename TStringData> TStringData& ZftConvertXhtml(TStringData& ARRoCString)
{
/* 데이타를 그대로 클라이언트에 전송하면, HTML 태그와
혼동될 수 있는데, 이를 방지하기 위해 적절히 인코딩한다.
*/
return ARRoCString.
Replace("&" ,"&amp;" ). Replace("<" ,"&lt;" ).
Replace(">" ,"&gt;" ). Replace(" " ,"&nbsp;").
Replace("\n","<br />" );
}/*
template<typename TStringData> TStringData& ConvertXhtml(TStringData& ARRoCString) */
template<typename TStringData> TStringData& ZftMakeXmlAttEnc(TStringData& ARRoCStringData)
{
return ARRoCStringData.
Replace("&" , "&amp;" ).Replace("\r", "&#xA;" ).
Replace("\n", "&#xD;" ).Replace("\t", "&#x9;" ).
Replace("\"", "&quot;").Replace(">" , "&gt;" ).Replace("<", "&lt;");
}/*
template<typename TStringData> TStringData& ZftMakeXmlAttEnc(TStringData& ARRoCStringData)*/
template<typename TStringData> TStringData& ZftMakeXmlAttDec(TStringData& ARRoCStringData)
{
return ARRoCStringData.
Replace("&#xA;" ,"\r" ). Replace("&#xD;" ,"\n").
Replace("&#x9;" ,"\t" ). Replace("&quot;","\"").
Replace("&gt;" ,">" ). Replace("&lt;" ,"<" ). Replace("&amp;" ,"&" );
}/*
template<typename TStringData> TStringData& ZftMakeXmlAttDec(TStringData& ARRoCStringData)*/
}/*
namespace ZNsMain*/
/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////