From 416140dff3e303965dc3c5946d550560baae3561 Mon Sep 17 00:00:00 2001 From: queyanwen Date: Thu, 7 Dec 2023 11:00:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81sh=20build.sh=20release?= =?UTF-8?q?=E6=96=B9=E5=BC=8F=E7=BC=96=E8=AF=91=EF=BC=8Crelease=E6=96=B9?= =?UTF-8?q?=E5=BC=8F=E4=B8=8B=E5=8F=AA=E7=BC=96=E8=AF=91=E8=A6=81=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=B8=94=E4=B8=8D=E7=BC=96?= =?UTF-8?q?=E8=AF=91demo=E5=92=8Cgtestt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 12 ++- build.sh | 20 ++-- pwrapic/inc/powerapi.h | 38 ++++---- pwrapic/src/powerapi.c | 211 +++++++++++++++++++++-------------------- 4 files changed, 153 insertions(+), 128 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f8ae171..6c762f1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,15 @@ cmake_minimum_required (VERSION 3.16) project (powerapi_entrance C) set(CMAKE_VERBOSE_MAKEFILE on) +if(DEFINED RELEASE_MODE) + add_definitions(-DRELEASE_MODE=${RELEASE_MODE}) +endif() + add_subdirectory(pwrapic/src) -add_subdirectory(pwrapic/test) -add_subdirectory(pwrapic/gtest) add_subdirectory(pwrapis/src) + +if(NOT DEFINED RELEASE_MODE) + add_subdirectory(pwrapic/gtest) + add_subdirectory(pwrapic/test) +endif(NOT DEFINED RELEASE_MODE) + diff --git a/build.sh b/build.sh index 9a0e486..c0a4498 100644 --- a/build.sh +++ b/build.sh @@ -5,7 +5,12 @@ PWRAPIS="server" mkdir build cd build -cmake .. +if [[ "$1" == "release" ]];then + cmake -DRELEASE_MODE="true" .. +else + cmake .. +fi + if [ $? -ne 0 ]; then exit 1 fi @@ -36,13 +41,14 @@ cp ./pwrapic/inc/powerapi.h ./release/pwrapic/inc/ cp ./common/inc/pwrdata.h ./release/pwrapic/inc/ cp ./common/inc/pwrerr.h ./release/pwrapic/inc/ -mkdir ./release/pwrapi_demo -cp ./build/pwrapic/test/pwrapic_demo ./release/pwrapi_demo/ -cp -r ./release/pwrapic ./release/pwrapi_demo/ - -mkdir ./release/gtest -cp ./build/pwrapic/gtest/gtest_test ./release/gtest/ +if [[ "$1" != "release" ]];then + mkdir ./release/pwrapi_demo + cp ./build/pwrapic/test/pwrapic_demo ./release/pwrapi_demo/ + cp -r ./release/pwrapic ./release/pwrapi_demo/ + mkdir ./release/gtest + cp ./build/pwrapic/gtest/gtest_test ./release/gtest/ +fi mkdir ./release/pwrapis cp ./build/pwrapis/src/pwrapis ./release/pwrapis/ diff --git a/pwrapic/inc/powerapi.h b/pwrapic/inc/powerapi.h index 175dcb5..bef75f4 100644 --- a/pwrapic/inc/powerapi.h +++ b/pwrapic/inc/powerapi.h @@ -26,30 +26,15 @@ extern "C" { #endif #define PWR_API - // Common PWR_API int PWR_SetLogCallback(void(LogCallback)(int level, const char *fmt, va_list vl)); PWR_API int PWR_SetServerInfo(const char* socketPath); PWR_API int PWR_Register(void); PWR_API int PWR_UnRegister(void); -PWR_API int PWR_SetMetaDataCallback(void(MetaDataCallback)(const PWR_COM_CallbackData *callbackData)); -PWR_API int PWR_CreateDcTask(const PWR_COM_BasicDcTaskInfo *basicDcTaskInfo); -PWR_API int PWR_DeleteDcTask(PWR_COM_COL_DATATYPE dataType); -PWR_API int PWR_SetEventCallback(void(EventCallback)(const PWR_COM_EventInfo* eventInfo)); PWR_API int PWR_RequestControlAuth(void); PWR_API int PWR_ReleaseControlAuth(void); - -// SYS -PWR_API int PWR_SYS_SetPowerState(const int powerState); -PWR_API int PWR_SYS_GetCappedPower(int *cappedPower); -PWR_API int PWR_SYS_SetCappedPower(const int cappedPower); -PWR_API int PWR_SYS_GetRtPowerInfo(PWR_SYS_PowerInfo *powerInfo); -PWR_API int PWR_SYS_GetStatisticPowerInfo(PWR_SYS_StatisticPowerInfo *stcPowerInfo); - // CPU PWR_API int PWR_CPU_GetInfo(PWR_CPU_Info *cpuInfo); -PWR_API int PWR_CPU_GetUsage(PWR_CPU_Usage *usage, uint32_t bufferSize); -PWR_API int PWR_CPU_GetPerfData(PWR_CPU_PerfData *perfData); PWR_API int PWR_CPU_GetFreqAbility(PWR_CPU_FreqAbility *freqAbi, uint32_t bufferSize); PWR_API int PWR_CPU_GetFreqGovernor(char gov[], uint32_t size); // len: PWR_MAX_ELEMENT_NAME_LEN PWR_API int PWR_CPU_SetFreqGovernor(const char gov[]); @@ -66,6 +51,24 @@ PWR_API int PWR_CPU_SetIdleGovernor(const char idleGov[]); PWR_API int PWR_CPU_DmaGetLatency(int *latency); // unit: us PWR_API int PWR_CPU_DmaSetLatency(int latency); +#ifndef RELEASE_MODE +// Common +PWR_API int PWR_SetMetaDataCallback(void(MetaDataCallback)(const PWR_COM_CallbackData *callbackData)); +PWR_API int PWR_CreateDcTask(const PWR_COM_BasicDcTaskInfo *basicDcTaskInfo); +PWR_API int PWR_DeleteDcTask(PWR_COM_COL_DATATYPE dataType); +PWR_API int PWR_SetEventCallback(void(EventCallback)(const PWR_COM_EventInfo* eventInfo)); + +// SYS +PWR_API int PWR_SYS_SetPowerState(const int powerState); +PWR_API int PWR_SYS_GetCappedPower(int *cappedPower); +PWR_API int PWR_SYS_SetCappedPower(const int cappedPower); +PWR_API int PWR_SYS_GetRtPowerInfo(PWR_SYS_PowerInfo *powerInfo); +PWR_API int PWR_SYS_GetStatisticPowerInfo(PWR_SYS_StatisticPowerInfo *stcPowerInfo); + +// CPU +PWR_API int PWR_CPU_GetUsage(PWR_CPU_Usage *usage, uint32_t bufferSize); +PWR_API int PWR_CPU_GetPerfData(PWR_CPU_PerfData *perfData); + // Disk PWR_API int PWR_DISK_GetList(char diskList[][PWR_MAX_ELEMENT_NAME_LEN], uint32_t *len); PWR_API int PWR_DISK_GetLoad(PWR_DISK_Load load[], uint32_t *len, int spec); @@ -84,7 +87,6 @@ PWR_API int PWR_NET_SetSpeedMod(char ethName[], uint32_t speedMod); PWR_API int PWR_USB_GetAutoSuspend(PWR_USB_AutoSuspend usbAts[], uint32_t *len); PWR_API int PWR_USB_SetAutoSuspend(PWR_USB_AutoSuspend usbAts[], uint32_t len); - // PROC PWR_API int PWR_PROC_QueryProcs(const char *keywords, pid_t procs[], uint32_t *num); PWR_API int PWR_PROC_GetWattState(int *state); @@ -101,8 +103,10 @@ PWR_API int PWR_PROC_SetSmartGridLevel(const PWR_PROC_SmartGridProcs *sgProcs); PWR_API int PWR_PROC_GetSmartGridGov(PWR_PROC_SmartGridGov *sgGov); PWR_API int PWR_PROC_SetSmartGridGov(const PWR_PROC_SmartGridGov *sgGov); +#endif // #ifndef RELEASE_MODE + #ifdef __cplusplus } #endif -#endif \ No newline at end of file +#endif // #ifndef POWERAPI_H__ \ No newline at end of file diff --git a/pwrapic/src/powerapi.c b/pwrapic/src/powerapi.c index 4e8f3f3..c81b008 100644 --- a/pwrapic/src/powerapi.c +++ b/pwrapic/src/powerapi.c @@ -99,45 +99,6 @@ int PWR_UnRegister(void) } -int PWR_SetMetaDataCallback(void(MetaDataCallback)(const PWR_COM_CallbackData *)) -{ - if (MetaDataCallback) { - return SetMetaDataCallback(MetaDataCallback); - } - return PWR_ERR_NULL_POINTER; -} - -int PWR_CreateDcTask(const PWR_COM_BasicDcTaskInfo *basicDcTaskInfo) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(basicDcTaskInfo); - - if (basicDcTaskInfo->interval < PWR_MIN_DC_INTERVAL || basicDcTaskInfo->interval > PWR_MAX_DC_INTERVAL) { - return PWR_ERR_INVALIDE_PARAM; - } - - if (!HasSetDataCallback()) { - return PWR_ERR_CALLBACK_FUNCTION_SHOULD_BE_SET_FIRST; - } - - return CreateDcTask(basicDcTaskInfo); -} - -int PWR_DeleteDcTask(PWR_COM_COL_DATATYPE dataType) -{ - CHECK_STATUS(STATUS_REGISTERTED); - - return DeleteDcTask(dataType); -} - -int PWR_SetEventCallback(void(EventCallback)(const PWR_COM_EventInfo *)) -{ - if (EventCallback) { - return SetEventCallback(EventCallback); - } - return PWR_ERR_NULL_POINTER; -} - int PWR_RequestControlAuth(void) { CHECK_STATUS(STATUS_REGISTERTED); @@ -158,50 +119,6 @@ int PWR_ReleaseControlAuth(void) return ret; } -int PWR_SYS_SetPowerState(const int powerState) -{ - CHECK_STATUS(STATUS_AUTHED); - if (powerState != PWR_MEM && powerState != PWR_DISK) { - return PWR_ERR_INVALIDE_PARAM; - } - - return SetSysPowerState(powerState); -} - -int PWR_SYS_GetCappedPower(int *cappedPower) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(cappedPower); - - return GetCappedPower(cappedPower); -} - -int PWR_SYS_SetCappedPower(const int cappedPower) -{ - CHECK_STATUS(STATUS_AUTHED); - if (cappedPower <= 0) { - return PWR_ERR_INVALIDE_PARAM; - } - - return SetCappedPower(cappedPower); -} - -int PWR_SYS_GetRtPowerInfo(PWR_SYS_PowerInfo *powerInfo) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(powerInfo); - - return GetSysRtPowerInfo(powerInfo); -} - -int PWR_SYS_GetStatisticPowerInfo(PWR_SYS_StatisticPowerInfo *stcPowerInfo) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(stcPowerInfo); - - return GetStatisticPowerInfo(stcPowerInfo); -} - int PWR_CPU_GetInfo(PWR_CPU_Info *cpuInfo) { CHECK_STATUS(STATUS_REGISTERTED); @@ -210,24 +127,6 @@ int PWR_CPU_GetInfo(PWR_CPU_Info *cpuInfo) return GetCpuInfo(cpuInfo); } -int PWR_CPU_GetUsage(PWR_CPU_Usage *usage, uint32_t bufferSize) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(usage); - if (bufferSize < sizeof(PWR_CPU_Usage)) { - return PWR_ERR_INVALIDE_PARAM; - } - - return GetCpuUsage(usage, bufferSize); -} - -PWR_API int PWR_CPU_GetPerfData(PWR_CPU_PerfData *perfData) -{ - CHECK_STATUS(STATUS_REGISTERTED); - CHECK_NULL_POINTER(perfData); - - return GetCpuPerfData(perfData); -} int PWR_CPU_GetFreqAbility(PWR_CPU_FreqAbility *freqAbi, uint32_t bufferSize) { @@ -372,6 +271,112 @@ int PWR_CPU_DmaSetLatency(int latency) } +#ifndef RELEASE_MODE +int PWR_SetMetaDataCallback(void(MetaDataCallback)(const PWR_COM_CallbackData *)) +{ + if (MetaDataCallback) { + return SetMetaDataCallback(MetaDataCallback); + } + return PWR_ERR_NULL_POINTER; +} + +int PWR_CreateDcTask(const PWR_COM_BasicDcTaskInfo *basicDcTaskInfo) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(basicDcTaskInfo); + + if (basicDcTaskInfo->interval < PWR_MIN_DC_INTERVAL || basicDcTaskInfo->interval > PWR_MAX_DC_INTERVAL) { + return PWR_ERR_INVALIDE_PARAM; + } + + if (!HasSetDataCallback()) { + return PWR_ERR_CALLBACK_FUNCTION_SHOULD_BE_SET_FIRST; + } + + return CreateDcTask(basicDcTaskInfo); +} + +int PWR_DeleteDcTask(PWR_COM_COL_DATATYPE dataType) +{ + CHECK_STATUS(STATUS_REGISTERTED); + + return DeleteDcTask(dataType); +} + +int PWR_SetEventCallback(void(EventCallback)(const PWR_COM_EventInfo *)) +{ + if (EventCallback) { + return SetEventCallback(EventCallback); + } + return PWR_ERR_NULL_POINTER; +} + + +int PWR_SYS_SetPowerState(const int powerState) +{ + CHECK_STATUS(STATUS_AUTHED); + if (powerState != PWR_MEM && powerState != PWR_DISK) { + return PWR_ERR_INVALIDE_PARAM; + } + + return SetSysPowerState(powerState); +} + +int PWR_SYS_GetCappedPower(int *cappedPower) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(cappedPower); + + return GetCappedPower(cappedPower); +} + +int PWR_SYS_SetCappedPower(const int cappedPower) +{ + CHECK_STATUS(STATUS_AUTHED); + if (cappedPower <= 0) { + return PWR_ERR_INVALIDE_PARAM; + } + + return SetCappedPower(cappedPower); +} + +int PWR_SYS_GetRtPowerInfo(PWR_SYS_PowerInfo *powerInfo) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(powerInfo); + + return GetSysRtPowerInfo(powerInfo); +} + +int PWR_SYS_GetStatisticPowerInfo(PWR_SYS_StatisticPowerInfo *stcPowerInfo) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(stcPowerInfo); + + return GetStatisticPowerInfo(stcPowerInfo); +} + + + +int PWR_CPU_GetUsage(PWR_CPU_Usage *usage, uint32_t bufferSize) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(usage); + if (bufferSize < sizeof(PWR_CPU_Usage)) { + return PWR_ERR_INVALIDE_PARAM; + } + + return GetCpuUsage(usage, bufferSize); +} + +PWR_API int PWR_CPU_GetPerfData(PWR_CPU_PerfData *perfData) +{ + CHECK_STATUS(STATUS_REGISTERTED); + CHECK_NULL_POINTER(perfData); + + return GetCpuPerfData(perfData); +} + // Disk int PWR_DISK_GetList(char diskList[][PWR_MAX_ELEMENT_NAME_LEN], uint32_t *len) { @@ -644,4 +649,6 @@ int PWR_PROC_SetSmartGridGov(const PWR_PROC_SmartGridGov *sgGov) return PWR_ERR_INVALIDE_PARAM; } return SetSmartGridGov(sgGov); -} \ No newline at end of file +} + +#endif // #ifndef RELEASE_MODE \ No newline at end of file -- Gitee