My Project
AutoUpdaterApp.h
1 #pragma once
2 #include <string>
3 #include <list>
4 #include "AutoUpdaterClient.h"
5 
6 namespace ParaEngine
7 {
8  class CMyProcessAppThread;
9  class CCommandLineParser;
10 
13  {
14  public:
15  typedef std::list <std::string> Domain_Map_t;
16 
18  ~CAutoUpdaterApp();
19 
20 
24  virtual int SetCommandLine(const char* sCmdLine);
25 
29  virtual int SetAppDir();
30 
35  virtual bool BeginCoreUpdate(const char* sCurVersion, const char* sSessionDir);
36 
38  virtual bool SendHostMsg(int nMsg, DWORD param1 = 0, DWORD param2 = 0, const char* filename = NULL, const char* sCode = NULL, int nPriority = 0);
39 
41  virtual void SendError(int nErrorCode, const char* errorMsg = NULL);
42 
44  virtual void SendLog(const char* logMsg);
45 
47  virtual bool IsUrlTrusted( const std::string& sUrl );
48 
51 
52  protected:
53 
54  bool TryGetNextCoreUpdateMessage();
55 
56  NPL::CAutoUpdaterClient* CreateGetAutoUpdater();
57 
58  void ReleaseAutoUpdater();
59 
61  int DoCoreUpdate_imp();
62 
63 
72  static int MatchFilePattern( const std::string& input, const std::string& sPattern);
73  static bool IsAlphaNumeric( char c);
74 
75  protected:
76  std::string m_sCmdLine;
77  CCommandLineParser* m_pCmdLineParams;
78  bool m_bAutoUpdateComplete;
79  NPL::CAutoUpdaterClient* m_pAutoUpdater;
80 
81  Domain_Map_t m_trusted_domains;
82  };
83 
84 }
virtual int SetAppDir()
set working directory
Definition: AutoUpdaterApp.cpp:66
different physics engine has different winding order.
Definition: EventBinding.h:32
This is used to create an application using interprocess communication.
Definition: AutoUpdaterApp.h:12
virtual void SendError(int nErrorCode, const char *errorMsg=NULL)
send error message to host app.
Definition: AutoUpdaterApp.cpp:158
progress message
Definition: AutoUpdaterClient.h:50
virtual int SetCommandLine(const char *sCmdLine)
init command line so that we can use IPC calls before calling Run() method.
Definition: AutoUpdaterApp.cpp:48
virtual bool IsUrlTrusted(const std::string &sUrl)
whether the url is from a trusted web domain.
Definition: AutoUpdaterApp.cpp:331
static int MatchFilePattern(const std::string &input, const std::string &sPattern)
whether the input string match a given file pattern.
Definition: AutoUpdaterApp.cpp:345
int DoCoreUpdate_imp()
update the core game engine.
virtual bool SendHostMsg(int nMsg, DWORD param1=0, DWORD param2=0, const char *filename=NULL, const char *sCode=NULL, int nPriority=0)
sent interprocess message to the host process.
Definition: AutoUpdaterApp.cpp:153
progress call back.
Definition: AutoUpdaterClient.h:66
virtual bool BeginCoreUpdate(const char *sCurVersion, const char *sSessionDir)
begin core update.
Definition: AutoUpdaterApp.cpp:168
command line parameter parser e.g.
Definition: CommandLineParser.hpp:24
virtual void SendLog(const char *logMsg)
send log message to host app.
Definition: AutoUpdaterApp.cpp:163
virtual void OnProgress(const NPL::IAutoUpdaterClient::ProgressMessage &msg)
auto updater call back.
Definition: AutoUpdaterApp.cpp:276
CAutoUpdaterClietn also implements a dummy INPL Runtime state, so that it can receive call back from ...
Definition: AutoUpdaterClient.h:117