nt9856x/code/application/sifarsdk/component/UpgradeManager/include/IUpgradeManager.h

40 lines
1.6 KiB
C++

#ifndef I_UPGRADE_MANAGER_H
#define I_UPGRADE_MANAGER_H
#include "VReturnCode.h"
#include <memory>
enum class UpgradeResult
{
SUCCEED = 0,
FAILED,
END
};
class VUpgradeTask
{
public:
VUpgradeTask() = default;
virtual ~VUpgradeTask() = default;
virtual const char *GetPackageUrl(void) { return nullptr; }
virtual const char *GetSavePath(void) { return nullptr; }
virtual const void GetSoftWareVersion(char *version, const unsigned int &length) {}
virtual void TaskResult(const UpgradeResult &resutl) {}
};
class VUpgradeNetworkModuleTask
{
public:
VUpgradeNetworkModuleTask() = default;
virtual ~VUpgradeNetworkModuleTask() = default;
virtual void TaskResult(const UpgradeResult &resutl) {}
};
class IUpgradeManager
{
public:
IUpgradeManager() = default;
virtual ~IUpgradeManager() = default;
static std::shared_ptr<IUpgradeManager> &GetInstance(std::shared_ptr<IUpgradeManager> *impl = nullptr);
virtual RETURN_CODE Init(void) { return VReturnCode::NewCode(VReturnCodeDefine::NOT_OK_VIRTUAL_FUNCTION); }
virtual RETURN_CODE UnInit(void) { return VReturnCode::NewCode(VReturnCodeDefine::NOT_OK_VIRTUAL_FUNCTION); }
virtual RETURN_CODE Upgrade(std::shared_ptr<VUpgradeTask> &task) { return VReturnCode::NewCode(VReturnCodeDefine::NOT_OK_VIRTUAL_FUNCTION); }
virtual RETURN_CODE Upgrade(std::shared_ptr<VUpgradeNetworkModuleTask> &task) { return VReturnCode::NewCode(VReturnCodeDefine::NOT_OK_VIRTUAL_FUNCTION); }
};
bool CreateUpgradeManager(void);
#endif // !I_UPGRADE_MANAGER_H