Files
Sun1602/Tools/UpdateModule/Update.h
T
2022-10-26 12:25:11 +08:00

77 lines
2.2 KiB
C++

#pragma once
#include <map>
#include "UpdateModule.h"
#include "PublicStruct.h"
#include "UpdateScriptInfo.h"
class DLL_DECLARE CUpdate
{
public:
CUpdate(void);
~CUpdate(void);
protected:
PROCESS_INFO_MAP m_mapProcessInfo;
public:
VOID InsertProcessInfo( PROCESS_INFO* pInfo );
BYTE GetProcessInfoCount(){ return (BYTE)m_mapProcessInfo.size(); }
PROCESS_INFO* GetProcessInfo( BYTE byUpdateNumber );
protected:
CUpdateModule m_UpdateModule;
BOOL m_bConnectFTP;
TCHAR m_szBasicExecutePath[MAX_PATH];
TCHAR m_szExecuteParameter[MAX_PATH];
//return Message
protected:
TCHAR m_szTempMessage[MAX_PATH];
protected:
eUPDATE_TYPE m_UpdateType; // 어플리케이션인지, 런처인지
BYTE m_byUpdateNumber; // 업데이트하려는 일련넘버, 0이면 전체, 0이 아니면. 해당 프로세스 업데이트
eLAUNCHER_START_TYPE m_StartType; // 런처를 누가 실행하였는가( 일반적으로 실행? 런처가 실행 )
public:
fnMsgCallBack m_fnMsgCallBack;
VOID SetMsgCallBack( fnMsgCallBack CallBack );
VOID SetSaveVerCallBack( );
public:
eUPDATE_TYPE GetUpdateType(){ return m_UpdateType; }
VOID SetUpdateType( eUPDATE_TYPE type ){ m_UpdateType = type; }
eLAUNCHER_START_TYPE GetStartType(){ return m_StartType; }
VOID SetStartType( eLAUNCHER_START_TYPE StartType ){ m_StartType = StartType; }
public:
VOID SetUpdateNumber( BYTE byNum ){ m_byUpdateNumber = byNum; }
BYTE GetUpdateNumber(){ return m_byUpdateNumber; }
BOOL CheckLiveProcess( TCHAR* pszCheckProcess );
VOID SetLocalBasicDownDir( TCHAR* pszDir );
VOID GetLocalBasicDownDir( OUT TCHAR* pszDir, int nBufSize );
VOID SetLocalBasicExecuteDir( TCHAR* pszDir );
VOID GetLocalBasicExecuteDir( OUT TCHAR* pszDir, int nBufSize );
VOID SetExecuteParameter( TCHAR* pszParam );
VOID GetExecuteParameter( OUT TCHAR* pszParam, int nBufSize );
public:
void GetModuleDirectory( TCHAR* pszDir, int nSize );
void AddMessage( UINT uMsg, VOID* pData );
BOOL DeleteFolder( TCHAR* pszFolder );
public:
BOOL Init();
BOOL ConnectFTP( TCHAR* pszIP = NULL, int nPort = 0, TCHAR* pszID = NULL, TCHAR* pszPass = NULL );
BOOL IsConnectFTP();
void DisconnectFTP();
void StopUpdate();
VOID Release();
//virtual
public:
virtual BOOL StartUpdate() = 0;
};