Files
2022-10-26 12:25:11 +08:00

87 lines
1.9 KiB
C++

#pragma once
#include <Windows.h>
#include <stdlib.h>
#include <string>
#include <map>
#include "define.h"
#include "PublicStruct.h"
#include "VersionInfo.h"
typedef std::map<BYTE, PROCESS_INFO*> PROCESS_INFO_MAP;
typedef PROCESS_INFO_MAP::iterator PROCESS_INFO_MAP_ITER;
class DLL_DECLARE CUpdateProcessInfo
{
public:
CUpdateProcessInfo();
~CUpdateProcessInfo(){}
public:
TCHAR m_szFtpIP[MAX_PATH];
WORD m_wFtpPort;
TCHAR m_szID[MAX_PATH];
TCHAR m_szPass[MAX_PATH];
TCHAR m_szDownPath[MAX_PATH];
TCHAR m_szExecutePath[MAX_PATH];
int m_nTotalProcessCount;
int m_nUpdateNumber;
PROCESS_INFO_MAP m_mapProcessInfo;
public:
PROCESS_INFO* GetProcessInfo( BYTE byUpateNumber );
};
class DLL_DECLARE CUpdateScriptParser
{
private:
CUpdateScriptParser(void);
public:
~CUpdateScriptParser(void);
public:
static CUpdateScriptParser* GetInstance()
{
if( !m_pInstance )
m_pInstance = new CUpdateScriptParser;
return m_pInstance;
}
static void Release()
{
if( m_pInstance ) delete m_pInstance;
}
private:
static CUpdateScriptParser* m_pInstance;
public:
CUpdateProcessInfo m_LauncherInfo;
CUpdateProcessInfo m_ApplicationInfo;
AGENT_INFO m_AgentInfo;
private:
BYTE m_bLoad;
public:
BOOL SaveVersion( BYTE byUpdateType, BYTE byUpdateNumber, CVersionInfo& rVerInfo );
PROCESS_INFO* GetProcessInfo( BYTE byUpdateType, BYTE byUpdateNumber );
BYTE GetUpdateNumFromProcName( BYTE byUpdateType, TCHAR* pszProcessName );
eUPDATE_TYPE GetUpdateTypeFromProcName( TCHAR* pszProcessName );
//DataLoad
public:
BOOL LoadData(void);
void GetModuleDirectory( char* szDirPath, int nSize );
BOOL IsLoad(){ return m_bLoad; }
AGENT_INFO& GetAgentInfo(){ return m_AgentInfo; }
private:
BOOL LoadProcessInfo( BYTE byUpdateType, const char* pszFilePath );
BOOL LoadAgentInfo( const char* pszFilePath );
};