67 lines
1.5 KiB
C++
67 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#pragma pack(push,1)
|
|
|
|
|
|
template < typename DATATYPE >
|
|
struct sTEMPLATE_TOTAL_INFO
|
|
{
|
|
explicit sTEMPLATE_TOTAL_INFO() : m_Count(0) {}
|
|
typedef DATATYPE DATA_TYPE;
|
|
enum { MAX_DATA_NUM = 0xFF, };
|
|
BYTE m_Count;
|
|
DATA_TYPE m_Data[MAX_DATA_NUM];
|
|
void Clear() { m_Count = 0; }
|
|
int GetSize()
|
|
{
|
|
return (sizeof(*this)-(MAX_DATA_NUM-m_Count)*sizeof(this->m_Data[0]));
|
|
}
|
|
};
|
|
|
|
#ifdef __20080312__SOLARAUTH_SERVER_PATCH
|
|
template<>
|
|
struct sTEMPLATE_TOTAL_INFO<CONVERT_RESULT>
|
|
{
|
|
typedef CONVERT_RESULT DATA_TYPE;
|
|
enum { MAX_DATA_NUM = 0xFF, };
|
|
|
|
explicit sTEMPLATE_TOTAL_INFO()
|
|
: m_Count(0)
|
|
{
|
|
}
|
|
|
|
void Clear() { m_Count = 0; }
|
|
|
|
int GetSize()
|
|
{
|
|
return (sizeof(*this)-(MAX_DATA_NUM-m_Count)*sizeof(this->m_Data[0]));
|
|
}
|
|
|
|
VOID AddData( const CONVERT_RESULT& val )
|
|
{
|
|
m_Data[m_Count++] = val;
|
|
}
|
|
|
|
VOID AddData(LPCTSTR FileName, eRC_CONVERT Error, BOOL type)
|
|
{
|
|
m_Data[m_Count].byType = type;
|
|
m_Data[m_Count].dwError = Error;
|
|
_tcsncpy( m_Data[m_Count++].szFileName, FileName, MAX_FILE_NAME);
|
|
}
|
|
|
|
BYTE m_Count;
|
|
DATA_TYPE m_Data[MAX_DATA_NUM];
|
|
};
|
|
#endif
|
|
|
|
typedef sTEMPLATE_TOTAL_INFO<SERVER_INFO_EX> SERVER_TOTAL_INFO;
|
|
typedef sTEMPLATE_TOTAL_INFO<FTP_CONNECT_INFO> FTP_TOTAL_INFO;
|
|
typedef sTEMPLATE_TOTAL_INFO<SERVER_ACCESS_INFO> SERVER_ACCESS_TOTAL_INFO;
|
|
typedef sTEMPLATE_TOTAL_INFO<AGENT_INFO> AGENT_TOTAL_INFO;
|
|
#ifdef __20080312__SOLARAUTH_SERVER_PATCH
|
|
typedef sTEMPLATE_TOTAL_INFO<SCFOLDER_INFO> SCRIPTFOLDER_TOTAL_INFO;
|
|
typedef sTEMPLATE_TOTAL_INFO<CONVERT_RESULT> CONVERT_RESULT_TOTAL_INFO;
|
|
#endif
|
|
|
|
|
|
#pragma pack(pop) |