[mpp_info]: remove C++ info class and add C interface for mpp_info strings

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@534 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenHengming
2016-01-20 03:27:54 +00:00
parent a1bd47c4c7
commit db7e4ff619
5 changed files with 38 additions and 47 deletions

View File

@@ -190,7 +190,7 @@ MPP_RET mpp_create(MppCtx *ctx, MppApi **mpi)
return MPP_ERR_MALLOC;
}
mpp_api.version = get_mpp_revision();
mpp_api.version = mpp_info_get_revision();
p->api = &mpp_api;
p->check = p;
*ctx = p;

View File

@@ -60,6 +60,7 @@ Mpp::Mpp()
mStatus(0)
{
}
MPP_RET Mpp::init(MppCtxType type, MppCodingType coding)
{

View File

@@ -25,8 +25,6 @@
#include "svn_info.h"
mpp_info *mpp_info::singleton = NULL;
/*
* To avoid string | grep author getting multiple results
* use commit to replace author
@@ -36,14 +34,6 @@ static char mpp_version_commit[] = SVN_AUTHOR;
static char mpp_version_date[] = SVN_DATE;
static char mpp_version_one_line[] = SVN_ONE_LINE;
mpp_info *mpp_info::getInstance()
{
if (singleton == NULL) {
singleton = new mpp_info();
}
return singleton;
}
static RK_CHIP_TYPE chip_version(void)
{
RK_CHIP_TYPE type = NONE;
@@ -78,21 +68,26 @@ static RK_CHIP_TYPE chip_version(void)
return type;
}
mpp_info::mpp_info()
const char *mpp_info_get(MPP_INFO_TYPE type)
{
chip_type = chip_version();
mpp_info_revision = mpp_version_revision;
mpp_info_commit = mpp_version_commit;
mpp_info_date = mpp_version_date;
mpp_revision = atoi(SVN_VERSION);
show_mpp_info();
}
void mpp_info::show_mpp_info()
{
mpp_log("%s\n", mpp_version_one_line);
switch (type) {
case INFO_ALL : {
return mpp_version_one_line;
} break;
case INFO_REVISION : {
return mpp_version_revision;
} break;
case INFO_DATE : {
return mpp_version_date;
} break;
case INFO_AUTHOR : {
return mpp_version_commit;
} break;
default : {
mpp_err_f("invalid info type %d\n", type);
} break;
}
return NULL;
}
RK_CHIP_TYPE get_chip_type()
@@ -100,7 +95,7 @@ RK_CHIP_TYPE get_chip_type()
return chip_version();
}
int get_mpp_revision()
int mpp_info_get_revision()
{
return atoi(SVN_VERSION);
}

View File

@@ -27,31 +27,22 @@ typedef enum RK_CHIP_TYPE {
RK_CHIP_NUM = 0x100,
} RK_CHIP_TYPE;
typedef enum MPP_INFO_TYPE {
INFO_ALL,
INFO_REVISION,
INFO_DATE,
INFO_AUTHOR,
INFO_BUTT,
} MPP_INFO_TYPE;
#ifdef __cplusplus
class mpp_info
{
public:
RK_CHIP_TYPE get_chip_type() {return chip_type;}
int get_mpp_revision() {return mpp_revision;}
void show_mpp_info();
static mpp_info *getInstance();
virtual ~mpp_info() {};
private:
static mpp_info *singleton;
mpp_info();
int mpp_revision;
char *mpp_info_revision;
char *mpp_info_commit;
char *mpp_info_date;
RK_CHIP_TYPE chip_type;
};
extern "C" {
#endif /* __cplusplus */
RK_CHIP_TYPE get_chip_type();
int get_mpp_revision();
const char *mpp_info_get(MPP_INFO_TYPE type);
int mpp_info_get_revision();
#ifdef __cplusplus
}

View File

@@ -21,7 +21,11 @@
int main()
{
mpp_log("mpp revision is %d\n", get_mpp_revision());
mpp_log("mpp revision is %d\n", mpp_info_get_revision());
mpp_log("mpp info all:\n%s\n", mpp_info_get(INFO_ALL));
mpp_log("mpp info revision: %s\n", mpp_info_get(INFO_REVISION));
mpp_log("mpp info date : %s\n", mpp_info_get(INFO_DATE));
mpp_log("mpp info author : %s\n", mpp_info_get(INFO_AUTHOR));
return 0;
}