1#ifndef ENGINE_UPDATER_H
2#define ENGINE_UPDATER_H
3
4#include "kernel.h"
5
6class IUpdater : public IInterface
7{
8 MACRO_INTERFACE("updater")
9public:
10 enum EUpdaterState
11 {
12 CLEAN,
13 GETTING_MANIFEST,
14 GOT_MANIFEST,
15 PARSING_UPDATE,
16 DOWNLOADING,
17 MOVE_FILES,
18 NEED_RESTART,
19 FAIL,
20 };
21
22 virtual void Update() = 0;
23 virtual void InitiateUpdate() = 0;
24
25 virtual EUpdaterState GetCurrentState() = 0;
26 virtual void GetCurrentFile(char *pBuf, int BufSize) = 0;
27 virtual int GetCurrentPercent() = 0;
28};
29
30#endif
31