Upgrade.c 2.1 KB
#include <stdio.h>
#include "JZsdkLib.h"
#include <string.h>

#include "BaseConfig.h"


#define UPGRADE_FILE_DIR "/root/ugradeFile"
#define UPGRADE_FILE_STATUS_A "/root/ugradeFile/upgrade_status_a"
#define UPGRADE_FILE_STATUS_B "/root/ugradeFile/upgrade_status_b"

#define REMOTE_UPGRADE_FILE_DIR "/root/ugradeFile/remote_ugradeFile.tar"

static int Upgrade_status = JZ_FLAGCODE_OFF;

/************************************
 * 
 *  升级包解析
 * 
 * 
 * *************************************/
T_JZsdkReturnCode Upgrade_PackageParse()
{
    T_JZsdkReturnCode ret;
    unsigned char cmd[128] = {0};
    
    //分析是否存在升级包
    if (JZsdk_check_file_exists(REMOTE_UPGRADE_FILE_DIR) != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
    {
        JZSDK_LOG_ERROR("Upgrade_PackageParse: upgrade file not exists");
        return JZ_ERROR_SYSTEM_MODULE_CODE_NO_UPGRADE_FILE;
    }

    //分解升级包
    memset(cmd, 0, sizeof(cmd));
    sprintf(cmd, "tar -xvf %s -C %s", REMOTE_UPGRADE_FILE_DIR, UPGRADE_FILE_DIR);
    ret = JZsdk_RunSystemCmd(cmd);
    if (ret != JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
    {
        JZSDK_LOG_ERROR("Upgrade_PackageParse: RunSystemCmd failed");
        return ret;
    }
    
    //解析升级包
    //首先分析本机的升级包
    unsigned char upgrade_file_name[128] = {0};


    return JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS;
}

/********************************
 * 
 *  升级模块初始化
 *   
 * 
 * ************************************/
T_JZsdkReturnCode Upgrade_Init()
{
    T_JZsdkReturnCode ret;

    //检查是否存在升级失败文件
    ret = JZsdk_check_file_exists(UPGRADE_FILE_STATUS_B);
    if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
    {
        //这种属于是喊话器自身升级失败了
        JZSDK_LOG_ERROR("Upgrade_Init: upgrade failed file exists STATUS B");


        //失败处理

    }
    
    //检查是否存在A文件
    ret = JZsdk_check_file_exists(UPGRADE_FILE_STATUS_A);
    if (ret == JZ_ERROR_SYSTEM_MODULE_CODE_SUCCESS)
    {
        //正处于升级状态

        //检查是否还存在升级包

        //
    }


}