From f0c1e95f8f67786473037203551558b2c25f37e2 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 18 Mar 2024 18:54:38 +0800 Subject: [PATCH 01/19] rtsp media with SixFrame APP. --- application/MissionManager/src/AppMonitor.cpp | 4 ++-- utils/WebServer/CMakeLists.txt | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index 087e0a9..dcf7974 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -40,9 +40,9 @@ StatusCode AppMonitor::GetDeviceAttr(AppGetDeviceAttr ¶m) StatusCode AppMonitor::GetMediaInfo(AppGetMeidaInfo ¶m) { LogInfo("AppMonitor::GetMediaInfo.\n"); - param.mRtspUrl = "rtsp://192.168.169.1/stream.mp4"; + param.mRtspUrl = "rtsp://192.168.169.1/live/1"; param.mTransport = "tcp"; - param.mPort = 6035; + param.mPort = 554; return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::GetSdCardInfo(AppGetSdCardInfo ¶m) diff --git a/utils/WebServer/CMakeLists.txt b/utils/WebServer/CMakeLists.txt index 7b0663b..aa9079c 100644 --- a/utils/WebServer/CMakeLists.txt +++ b/utils/WebServer/CMakeLists.txt @@ -110,4 +110,8 @@ add_custom_target( define_file_name(${TARGET_NAME}) file(GLOB_RECURSE INSTALL_HEADER_FILES include/*.h) -install(FILES ${INSTALL_HEADER_FILES} DESTINATION include) \ No newline at end of file +install(FILES ${INSTALL_HEADER_FILES} DESTINATION include) +install(FILES ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.crt DESTINATION config) +install(FILES ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/build/${GOAHEAD_INCLUDE_PATH}/bin/self.key DESTINATION config) +install(FILES ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/route.txt DESTINATION config) +install(FILES ${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/GoAhead/test/auth.txt DESTINATION config) \ No newline at end of file From 6021af6acdb398b57132cb5bc1b97bba8bfc635e Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Fri, 22 Mar 2024 17:28:14 +0800 Subject: [PATCH 02/19] Backup. --- application/MissionManager/src/AppMonitor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index dcf7974..730e28e 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -48,9 +48,9 @@ StatusCode AppMonitor::GetMediaInfo(AppGetMeidaInfo ¶m) StatusCode AppMonitor::GetSdCardInfo(AppGetSdCardInfo ¶m) { LogInfo("AppMonitor::GetSdCardInfo.\n"); - param.mStatus = SdCardStatus::CARD_DAMAGED; - param.mFree = 0; - param.mTotal = 0; + param.mStatus = SdCardStatus::NORMAL; + param.mFree = 1024 * 32; + param.mTotal = 1024 * 32; return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) From d4f57d78cdcd49d1ba10489809ccb66612630489 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Fri, 22 Mar 2024 21:50:30 +0800 Subject: [PATCH 03/19] Backup:AppManager module. --- middleware/AppManager/include/IAppManager.h | 96 +++++-- middleware/AppManager/src/IAppManager.cpp | 21 ++ .../src/Protocol/SixFrame/SixFrameHandle.cpp | 237 +++++++++++++++++- .../src/Protocol/SixFrame/SixFrameHandle.h | 13 +- 4 files changed, 346 insertions(+), 21 deletions(-) diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index addacb1..700fdb0 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -31,6 +31,37 @@ enum class UploadCommand UPGRADE_CPU = 0, END }; +enum class ChargeStatus +{ + UNCHARGED = 0, + CHARGING, + END +}; +enum class SdCardStatus +{ + NORMAL = 0, + UNFORMATTED = 1, + NOT_INSERTED = 2, + CARD_DAMAGED = 3, + CARD_LOCKED = 10, + SLOW_CARD = 11, + FORMAT_REQUIRED = 12, + FORMATTING = 13, + END = 99 +}; +enum class LockVideoStatus +{ + UNLOCK = 0, + LOCK, + END +}; +enum class StorageType +{ + EMMC = 0, + SD_CARD_1, + SD_CARD_2, + END +}; typedef struct app_get_product_info { app_get_product_info() {} @@ -59,18 +90,6 @@ typedef struct app_get_media_info std::string mTransport; int mPort; } AppGetMeidaInfo; -enum class SdCardStatus -{ - NORMAL = 0, - UNFORMATTED = 1, - NOT_INSERTED = 2, - CARD_DAMAGED = 3, - CARD_LOCKED = 10, - SLOW_CARD = 11, - FORMAT_REQUIRED = 12, - FORMATTING = 13, - END = 99 -}; typedef struct app_get_sd_card_info { app_get_sd_card_info() @@ -83,12 +102,6 @@ typedef struct app_get_sd_card_info int mFree; int mTotal; } AppGetSdCardInfo; -enum class ChargeStatus -{ - UNCHARGED = 0, - CHARGING, - END -}; typedef struct app_get_battery_info { app_get_battery_info() @@ -99,6 +112,47 @@ typedef struct app_get_battery_info int mCapacity; ChargeStatus mChargeStatus; } AppGetBatteryInfo; +typedef struct app_get_param_value +{ + app_get_param_value() + { + mCapacity = 0; + mChargeStatus = ChargeStatus::END; + } + int mCapacity; + ChargeStatus mChargeStatus; +} AppGetParamValue; +typedef struct app_get_capability +{ + app_get_capability() + { + mCapacity = 0; + mChargeStatus = ChargeStatus::END; + } + int mCapacity; + ChargeStatus mChargeStatus; +} AppGetCapability; +typedef struct app_get_storage_info +{ + app_get_storage_info() + { + mIndex = -1; + mType = StorageType::END; + mFree = 0; + mTotal = 0; + } + int mIndex; + StorageType mType; + std::string mName; + int mFree; + int mTotal; +} AppGetStorageInfo; +typedef struct app_set_param_value +{ + app_set_param_value() { mValue = -1; } + std::string mName; + int mValue; +} AppSetParamValue; typedef struct app_set_date_time { app_set_date_time(const unsigned int year, const unsigned int month, const unsigned int day, @@ -133,8 +187,14 @@ public: virtual StatusCode GetMediaInfo(AppGetMeidaInfo ¶m); virtual StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m); virtual StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m); + virtual StatusCode GetParamValue(AppGetParamValue ¶m); + virtual StatusCode GetCapability(AppGetCapability ¶m); + virtual StatusCode GetLockVideoStatus(LockVideoStatus ¶m); + virtual StatusCode GetStorageInfo(std::vector ¶m); virtual StatusCode SetDateTime(AppSetDateTime ¶m); virtual StatusCode SetTimeZone(const unsigned int &zone); + virtual StatusCode SetParamValue(AppSetParamValue ¶m); + virtual StatusCode EnterRecorder(void); virtual StatusCode UploadFile(AppUploadFile ¶m); }; typedef struct app_param diff --git a/middleware/AppManager/src/IAppManager.cpp b/middleware/AppManager/src/IAppManager.cpp index 51d8d79..67e8ca2 100644 --- a/middleware/AppManager/src/IAppManager.cpp +++ b/middleware/AppManager/src/IAppManager.cpp @@ -31,8 +31,29 @@ StatusCode VAppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::GetParamValue(AppGetParamValue ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::GetCapability(AppGetCapability ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::GetLockVideoStatus(LockVideoStatus ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::GetStorageInfo(std::vector ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::SetDateTime(AppSetDateTime ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } StatusCode VAppMonitor::SetTimeZone(const unsigned int &zone) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::SetParamValue(AppSetParamValue ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::EnterRecorder(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } StatusCode VAppMonitor::UploadFile(AppUploadFile ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } std::shared_ptr &IAppManager::GetInstance(std::shared_ptr *impl) { diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 1d5c1d5..b49a51d 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -26,8 +26,14 @@ const char *APP_GET_DEVICE_ATTR = "/app/getdeviceattr"; const char *APP_GET_MEDIA_INFO = "/app/getmediainfo"; const char *APP_GET_SD_CARD_INFO = "/app/getsdinfo"; const char *APP_GET_BATTERY_INFO = "/app/getbatteryinfo"; +const char *APP_GET_PARAM_VALUE = "/app/getparamvalue"; +const char *APP_GET_CAPABILITY = "/app/capability"; +const char *APP_GET_LOCK_VIDEO_STATUS = "/app/getlockvideostatus"; +const char *APP_GET_STORAGE_INFO = "/app/getstorageinfo"; const char *APP_SET_DATE_TIME = "/app/setsystime"; const char *APP_SET_TIME_ZONE = "/app/settimezone"; +const char *APP_SET_PARAM_VALUE = "/app/setparamvalue"; +const char *APP_ENTER_RECORDER = "/app/enterrecorder"; const char *APP_UPLOAD_FILE = "/upload"; constexpr bool SET_REQUEST_RESPONSE = true; SixFrameHandle::SixFrameHandle() @@ -38,8 +44,13 @@ SixFrameHandle::SixFrameHandle() mResquesHandleFunc[APP_GET_MEDIA_INFO] = std::bind(&SixFrameHandle::RequestGetMediaInfo, this, _1, _2, _3); mResquesHandleFunc[APP_GET_SD_CARD_INFO] = std::bind(&SixFrameHandle::RequestGetSdCardInfo, this, _1, _2, _3); mResquesHandleFunc[APP_GET_BATTERY_INFO] = std::bind(&SixFrameHandle::RequestGetBatteryInfo, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_PARAM_VALUE] = std::bind(&SixFrameHandle::RequestGetParamValue, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_CAPABILITY] = std::bind(&SixFrameHandle::RequestGetCapability, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_LOCK_VIDEO_STATUS] = + std::bind(&SixFrameHandle::RequestGetLockVideoStatus, this, _1, _2, _3); mResquesHandleFunc[APP_SET_DATE_TIME] = std::bind(&SixFrameHandle::RequestSetDateTime, this, _1, _2, _3); mResquesHandleFunc[APP_SET_TIME_ZONE] = std::bind(&SixFrameHandle::RequestSetTimeZone, this, _1, _2, _3); + mResquesHandleFunc[APP_ENTER_RECORDER] = std::bind(&SixFrameHandle::RequestEnterRecorder, this, _1, _2, _3); mResquesHandleFunc[APP_UPLOAD_FILE] = std::bind(&SixFrameHandle::RequestUpload, this, _1, _2, _3); // mResquesHandleFunc["favicon.ico"] = std::bind(&SixFrameHandle::DoNothing, this, _1, _2, _); } @@ -98,6 +109,11 @@ void SixFrameHandle::DoNothing(const std::string &url, ResponseHandle responseHa // responseHandle("Unknown command.", context); char *resultStr = nullptr; cJSON *result = MakeResponseResult(ResposeResult::FAILED); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } resultStr = cJSON_Print(result); responseHandle(resultStr, context); free(resultStr); @@ -110,6 +126,11 @@ void SixFrameHandle::RequestGetProductInfo(const std::string &url, ResponseHandl AppGetProductInfo param; mAppMonitor->GetProductInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } ResponseGetProductInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -132,6 +153,11 @@ void SixFrameHandle::RequestGetDeviceAttr(const std::string &url, ResponseHandle AppGetDeviceAttr param; mAppMonitor->GetDeviceAttr(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } ResponseGetDeviceAttr(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -159,6 +185,11 @@ void SixFrameHandle::RequestGetMediaInfo(const std::string &url, ResponseHandle AppGetMeidaInfo param; mAppMonitor->GetMediaInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } ResponseGetMediaInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -181,6 +212,11 @@ void SixFrameHandle::RequestGetSdCardInfo(const std::string &url, ResponseHandle AppGetSdCardInfo param; mAppMonitor->GetSdCardInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } ResponseGetSdCardInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -202,6 +238,11 @@ void SixFrameHandle::RequestGetBatteryInfo(const std::string &url, ResponseHandl AppGetBatteryInfo param; mAppMonitor->GetBatteryInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } ResponseGetBatteryInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -215,6 +256,119 @@ void inline SixFrameHandle::ResponseGetBatteryInfo(cJSON *result, const AppGetBa cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); cJSON_AddNumberToObject(info, "capacity", param.mCapacity); } +void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetParamValue.\n"); + char *resultStr = nullptr; + AppGetParamValue param; + mAppMonitor->GetParamValue(param); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseGetParamValue(result, param); + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} +void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m) +{ + cJSON *info = nullptr; + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); + cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); + cJSON_AddNumberToObject(info, "capacity", param.mCapacity); +} +void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetCapability.\n"); + char *resultStr = nullptr; + AppGetCapability param; + mAppMonitor->GetCapability(param); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseGetCapability(result, param); + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} +void inline SixFrameHandle::ResponseGetCapability(cJSON *result, const AppGetCapability ¶m) +{ + cJSON *info = nullptr; + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); + cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); + cJSON_AddNumberToObject(info, "capacity", param.mCapacity); +} +void SixFrameHandle::RequestGetLockVideoStatus(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetLockVideoStatus.\n"); + char *resultStr = nullptr; + LockVideoStatus param; + mAppMonitor->GetLockVideoStatus(param); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseGetLockVideoStatus(result, param); + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} +void inline SixFrameHandle::ResponseGetLockVideoStatus(cJSON *result, const LockVideoStatus ¶m) +{ + cJSON *info = nullptr; + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); + cJSON_AddNumberToObject(info, "status", static_cast(param)); +} +void SixFrameHandle::RequestGetStorageInfo(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetStorageInfo.\n"); + char *resultStr = nullptr; + std::vector param; + mAppMonitor->GetStorageInfo(param); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseGetStorageInfo(result, param); + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} +void inline SixFrameHandle::ResponseGetStorageInfo(cJSON *result, const std::vector ¶m) +{ + cJSON *info = cJSON_CreateArray(); + if (nullptr == info) { + LogError("cJSON_CreateArray failed.\n"); + return; + } + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); + for (const auto &storageInfo : param) { + cJSON *storage = nullptr; + storage = cJSON_CreateObject(); + if (nullptr != storage) { + cJSON_AddItemToArray(info, storage); + cJSON_AddNumberToObject(storage, "index", static_cast(storageInfo.mIndex)); + cJSON_AddStringToObject(storage, "name", storageInfo.mName.c_str()); + cJSON_AddNumberToObject(storage, "type", static_cast(storageInfo.mType)); + cJSON_AddNumberToObject(storage, "free", storageInfo.mFree); + cJSON_AddNumberToObject(storage, "total", storageInfo.mTotal); + } + } +} AppSetDateTime inline SixFrameHandle::RequestSetDateTimeParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { @@ -251,6 +405,11 @@ void SixFrameHandle::RequestSetDateTime(const std::string &url, ResponseHandle r AppSetDateTime param = RequestSetDateTimeParse(url); mAppMonitor->SetDateTime(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } // ResponseGetBatteryInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); @@ -277,17 +436,81 @@ int inline SixFrameHandle::RequestSetTimeZoneParse(const std::string &url) } void SixFrameHandle::RequestSetTimeZone(const std::string &url, ResponseHandle responseHandle, void *context) { - LogInfo("RequestGetDeviceAttr.\n"); + LogInfo("RequestSetTimeZone.\n"); char *resultStr = nullptr; int zone = RequestSetTimeZoneParse(url); mAppMonitor->SetTimeZone(zone); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } // ResponseGetBatteryInfo(result, param); resultStr = cJSON_Print(result); responseHandle(resultStr, context); free(resultStr); cJSON_Delete(result); } +AppSetParamValue inline SixFrameHandle::RequestSetParamValueParse(const std::string &url) +{ + auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { + std::shared_ptr> parseyImpl = + std::dynamic_pointer_cast>(parse); + if ("switchcam" == key) { + parseyImpl->mData.mName = "switchcam"; + parseyImpl->mData.mValue = std::stoi(value); + } + if ("rec" == key) { + parseyImpl->mData.mName = "rec"; + parseyImpl->mData.mValue = std::stoi(value); + } + if ("mic" == key) { + parseyImpl->mData.mName = "mic"; + parseyImpl->mData.mValue = std::stoi(value); + } + }; + AppSetParamValue value; + std::shared_ptr parse = std::make_shared>(); + ExtractParamsFromUrl(url, parseFunc, parse); + std::shared_ptr> parseyImpl = + std::dynamic_pointer_cast>(parse); + return parseyImpl->mData; +} +void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestSetParamValue.\n"); + char *resultStr = nullptr; + AppSetParamValue value = RequestSetParamValueParse(url); + mAppMonitor->SetParamValue(value); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + // ResponseGetBatteryInfo(result, param); + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} +void SixFrameHandle::RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestEnterRecorder.\n"); + char *resultStr = nullptr; + mAppMonitor->EnterRecorder(); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + resultStr = cJSON_Print(result); + responseHandle(resultStr, context); + free(resultStr); + cJSON_Delete(result); +} void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestUpload.\n"); @@ -295,6 +518,11 @@ void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle respon AppUploadFile info("path", UploadCommand::UPGRADE_CPU); mAppMonitor->UploadFile(info); cJSON *result = MakeResponseResult(info.mResult); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } resultStr = cJSON_Print(result); responseHandle(resultStr, context); free(resultStr); @@ -304,9 +532,13 @@ cJSON *SixFrameHandle::MakeResponseResult(const ResposeResult result, const bool { const char *RESPONSE_RESULT = "result"; cJSON *resultCJSON = cJSON_CreateObject(); + if (nullptr == resultCJSON) { + LogError("cJSON_CreateObject failed.\n"); + goto END; + } cJSON_AddNumberToObject(resultCJSON, RESPONSE_RESULT, static_cast(result)); if (false == requestSet) { - return resultCJSON; + goto END; } if (ResposeResult::SUCCESSFUL == result) { cJSON_AddStringToObject(resultCJSON, CJSON_INFO_STRING, "set success."); @@ -314,6 +546,7 @@ cJSON *SixFrameHandle::MakeResponseResult(const ResposeResult result, const bool else { cJSON_AddStringToObject(resultCJSON, CJSON_INFO_STRING, "set failed."); // TODO: what the failed string is? } +END: return resultCJSON; } void SixFrameHandle::SetAppMonitor(std::shared_ptr &monitor) diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 3fc9a5c..6c49473 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -30,6 +30,7 @@ public: VParseUrl() = default; virtual ~VParseUrl() = default; }; +using ParseUrlResultFunc = void(const std::string &, const std::string &, std::shared_ptr &); template class ParseUrl : public VParseUrl { @@ -41,7 +42,6 @@ public: public: T mData; }; -using ParseUrlResultFunc = void(const std::string &, const std::string &, std::shared_ptr &); class SixFrameHandle : public IAppProtocolHandle { public: @@ -68,10 +68,21 @@ private: void ResponseGetSdCardInfo(cJSON *result, const AppGetSdCardInfo ¶m); void RequestGetBatteryInfo(const std::string &url, ResponseHandle responseHandle, void *context); void ResponseGetBatteryInfo(cJSON *result, const AppGetBatteryInfo ¶m); + void RequestGetParamValue(const std::string &url, ResponseHandle responseHandle, void *context); + void ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m); + void RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context); + void ResponseGetCapability(cJSON *result, const AppGetCapability ¶m); + void RequestGetLockVideoStatus(const std::string &url, ResponseHandle responseHandle, void *context); + void ResponseGetLockVideoStatus(cJSON *result, const LockVideoStatus ¶m); + void RequestGetStorageInfo(const std::string &url, ResponseHandle responseHandle, void *context); + void ResponseGetStorageInfo(cJSON *result, const std::vector ¶m); AppSetDateTime RequestSetDateTimeParse(const std::string &url); void RequestSetDateTime(const std::string &url, ResponseHandle responseHandle, void *context); int RequestSetTimeZoneParse(const std::string &url); void RequestSetTimeZone(const std::string &url, ResponseHandle responseHandle, void *context); + AppSetParamValue RequestSetParamValueParse(const std::string &url); + void RequestSetParamValue(const std::string &url, ResponseHandle responseHandle, void *context); + void RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context); void RequestUpload(const std::string &url, ResponseHandle responseHandle, void *context); private: From 7f5847cbdb67e5c28d3bec5540e9e16be782ab9c Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Sat, 23 Mar 2024 09:42:29 +0800 Subject: [PATCH 04/19] Improve:AppManager module. --- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 93 ++++++------------- .../src/Protocol/SixFrame/SixFrameHandle.h | 1 + 2 files changed, 29 insertions(+), 65 deletions(-) diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index b49a51d..54f7fe6 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -106,23 +106,18 @@ void SixFrameHandle::RequestHandle2(const std::string command, const std::string } void SixFrameHandle::DoNothing(const std::string &url, ResponseHandle responseHandle, void *context) { - // responseHandle("Unknown command.", context); - char *resultStr = nullptr; cJSON *result = MakeResponseResult(ResposeResult::FAILED); if (nullptr == result) { LogError("MakeResponseResult failed.\n"); responseHandle("Device run out of memory.", context); return; } - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void SixFrameHandle::RequestGetProductInfo(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetProductInfo.\n"); - char *resultStr = nullptr; AppGetProductInfo param; mAppMonitor->GetProductInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -132,9 +127,7 @@ void SixFrameHandle::RequestGetProductInfo(const std::string &url, ResponseHandl return; } ResponseGetProductInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetProductInfo(cJSON *result, const AppGetProductInfo ¶m) @@ -149,7 +142,6 @@ void inline SixFrameHandle::ResponseGetProductInfo(cJSON *result, const AppGetPr void SixFrameHandle::RequestGetDeviceAttr(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetDeviceAttr.\n"); - char *resultStr = nullptr; AppGetDeviceAttr param; mAppMonitor->GetDeviceAttr(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -159,9 +151,7 @@ void SixFrameHandle::RequestGetDeviceAttr(const std::string &url, ResponseHandle return; } ResponseGetDeviceAttr(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetDeviceAttr(cJSON *result, const AppGetDeviceAttr ¶m) @@ -181,7 +171,6 @@ void inline SixFrameHandle::ResponseGetDeviceAttr(cJSON *result, const AppGetDev void SixFrameHandle::RequestGetMediaInfo(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetMediaInfo.\n"); - char *resultStr = nullptr; AppGetMeidaInfo param; mAppMonitor->GetMediaInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -191,10 +180,7 @@ void SixFrameHandle::RequestGetMediaInfo(const std::string &url, ResponseHandle return; } ResponseGetMediaInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - LogInfo("resultStr = \n%s\n", resultStr); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetMediaInfo(cJSON *result, const AppGetMeidaInfo ¶m) @@ -208,7 +194,6 @@ void inline SixFrameHandle::ResponseGetMediaInfo(cJSON *result, const AppGetMeid void SixFrameHandle::RequestGetSdCardInfo(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetDeviceAttr.\n"); - char *resultStr = nullptr; AppGetSdCardInfo param; mAppMonitor->GetSdCardInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -218,9 +203,7 @@ void SixFrameHandle::RequestGetSdCardInfo(const std::string &url, ResponseHandle return; } ResponseGetSdCardInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetSdCardInfo(cJSON *result, const AppGetSdCardInfo ¶m) @@ -234,7 +217,6 @@ void inline SixFrameHandle::ResponseGetSdCardInfo(cJSON *result, const AppGetSdC void SixFrameHandle::RequestGetBatteryInfo(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetDeviceAttr.\n"); - char *resultStr = nullptr; AppGetBatteryInfo param; mAppMonitor->GetBatteryInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -244,9 +226,7 @@ void SixFrameHandle::RequestGetBatteryInfo(const std::string &url, ResponseHandl return; } ResponseGetBatteryInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetBatteryInfo(cJSON *result, const AppGetBatteryInfo ¶m) @@ -259,7 +239,6 @@ void inline SixFrameHandle::ResponseGetBatteryInfo(cJSON *result, const AppGetBa void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetParamValue.\n"); - char *resultStr = nullptr; AppGetParamValue param; mAppMonitor->GetParamValue(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -269,9 +248,7 @@ void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle return; } ResponseGetParamValue(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m) @@ -284,7 +261,6 @@ void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetPar void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetCapability.\n"); - char *resultStr = nullptr; AppGetCapability param; mAppMonitor->GetCapability(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -294,9 +270,7 @@ void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle return; } ResponseGetCapability(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetCapability(cJSON *result, const AppGetCapability ¶m) @@ -309,7 +283,6 @@ void inline SixFrameHandle::ResponseGetCapability(cJSON *result, const AppGetCap void SixFrameHandle::RequestGetLockVideoStatus(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetLockVideoStatus.\n"); - char *resultStr = nullptr; LockVideoStatus param; mAppMonitor->GetLockVideoStatus(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -319,9 +292,7 @@ void SixFrameHandle::RequestGetLockVideoStatus(const std::string &url, ResponseH return; } ResponseGetLockVideoStatus(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetLockVideoStatus(cJSON *result, const LockVideoStatus ¶m) @@ -333,7 +304,6 @@ void inline SixFrameHandle::ResponseGetLockVideoStatus(cJSON *result, const Lock void SixFrameHandle::RequestGetStorageInfo(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetStorageInfo.\n"); - char *resultStr = nullptr; std::vector param; mAppMonitor->GetStorageInfo(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); @@ -343,9 +313,7 @@ void SixFrameHandle::RequestGetStorageInfo(const std::string &url, ResponseHandl return; } ResponseGetStorageInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void inline SixFrameHandle::ResponseGetStorageInfo(cJSON *result, const std::vector ¶m) @@ -401,7 +369,6 @@ AppSetDateTime inline SixFrameHandle::RequestSetDateTimeParse(const std::string void SixFrameHandle::RequestSetDateTime(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetDeviceAttr.\n"); - char *resultStr = nullptr; AppSetDateTime param = RequestSetDateTimeParse(url); mAppMonitor->SetDateTime(param); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); @@ -410,10 +377,7 @@ void SixFrameHandle::RequestSetDateTime(const std::string &url, ResponseHandle r responseHandle("Device run out of memory.", context); return; } - // ResponseGetBatteryInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } int inline SixFrameHandle::RequestSetTimeZoneParse(const std::string &url) @@ -437,7 +401,6 @@ int inline SixFrameHandle::RequestSetTimeZoneParse(const std::string &url) void SixFrameHandle::RequestSetTimeZone(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestSetTimeZone.\n"); - char *resultStr = nullptr; int zone = RequestSetTimeZoneParse(url); mAppMonitor->SetTimeZone(zone); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); @@ -446,10 +409,7 @@ void SixFrameHandle::RequestSetTimeZone(const std::string &url, ResponseHandle r responseHandle("Device run out of memory.", context); return; } - // ResponseGetBatteryInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } AppSetParamValue inline SixFrameHandle::RequestSetParamValueParse(const std::string &url) @@ -480,7 +440,6 @@ AppSetParamValue inline SixFrameHandle::RequestSetParamValueParse(const std::str void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestSetParamValue.\n"); - char *resultStr = nullptr; AppSetParamValue value = RequestSetParamValueParse(url); mAppMonitor->SetParamValue(value); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); @@ -489,16 +448,12 @@ void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle responseHandle("Device run out of memory.", context); return; } - // ResponseGetBatteryInfo(result, param); - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void SixFrameHandle::RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestEnterRecorder.\n"); - char *resultStr = nullptr; mAppMonitor->EnterRecorder(); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); if (nullptr == result) { @@ -506,15 +461,12 @@ void SixFrameHandle::RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle("Device run out of memory.", context); return; } - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestUpload.\n"); - char *resultStr = nullptr; AppUploadFile info("path", UploadCommand::UPGRADE_CPU); mAppMonitor->UploadFile(info); cJSON *result = MakeResponseResult(info.mResult); @@ -523,9 +475,7 @@ void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle respon responseHandle("Device run out of memory.", context); return; } - resultStr = cJSON_Print(result); - responseHandle(resultStr, context); - free(resultStr); + ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } cJSON *SixFrameHandle::MakeResponseResult(const ResposeResult result, const bool requestSet) @@ -549,6 +499,19 @@ cJSON *SixFrameHandle::MakeResponseResult(const ResposeResult result, const bool END: return resultCJSON; } +void SixFrameHandle::ResponseJsonString(cJSON *json, ResponseHandle responseHandle, void *context) +{ + char *resultStr = nullptr; + resultStr = cJSON_Print(json); + if (nullptr != resultStr) { + responseHandle(resultStr, context); + free(resultStr); + } + else { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + } +} void SixFrameHandle::SetAppMonitor(std::shared_ptr &monitor) { if (monitor) { diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 6c49473..6d5bc9c 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -87,6 +87,7 @@ private: private: cJSON *MakeResponseResult(const ResposeResult result, const bool requestSet = false); + void ResponseJsonString(cJSON *json, ResponseHandle responseHandle, void *context); protected: void SetAppMonitor(std::shared_ptr &monitor) override; From 053d2dbda3fa39886127641a6baf1406177472f1 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Sat, 23 Mar 2024 20:39:05 +0800 Subject: [PATCH 05/19] Add:SixFrame protocol. --- CMakeLists.txt | 2 + application/MissionManager/src/AppMonitor.cpp | 2 +- application/MissionManager/src/AppMonitor.h | 2 +- middleware/AppManager/include/IAppManager.h | 152 ++++++++++++++-- middleware/AppManager/src/IAppManager.cpp | 15 +- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 170 +++++++++++++++--- .../src/Protocol/SixFrame/SixFrameHandle.h | 5 + .../tool/src/TestMissionStateMock.cpp | 2 +- .../tool/src/TestMissionStateMock.h | 2 +- test/middleware/AppManager/CMakeLists.txt | 2 +- .../AppManager/src/AppManager_Test.cpp | 103 ++++++++++- .../tool/include/AppManagerTestTool.h | 8 + .../tool/src/AppManagerTestTool.cpp | 98 ++++++++++ .../AppManager/tool/src/AppMonitorMock.cpp | 116 +++++++++++- .../AppManager/tool/src/AppMonitorMock.h | 30 +++- .../AppManager/tool/src/ServersMock.cpp | 146 ++++++++++++++- .../AppManager/tool/src/ServersMock.h | 8 + 17 files changed, 815 insertions(+), 48 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index dd7836e..a2678b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,6 +60,8 @@ if ("${CLANG_TIDY_SUPPORT}" MATCHES "true") --header-filter=.* --system-headers=false ${ALL_MODEFIED_FILES} + ${CLANG_TIDY_CONFIG} + --line-filter='[{\"name\":\"${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include/getest/*.h\"}]' -p ${PLATFORM_PATH}/cmake-shell WORKING_DIRECTORY ${PLATFORM_PATH} ) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index 730e28e..b416f92 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -60,7 +60,7 @@ StatusCode AppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) param.mChargeStatus = ChargeStatus::CHARGING; return CreateStatusCode(STATUS_CODE_OK); } -StatusCode AppMonitor::SetDateTime(AppSetDateTime ¶m) +StatusCode AppMonitor::SetDateTime(const AppSetDateTime ¶m) { // return CreateStatusCode(STATUS_CODE_OK); diff --git a/application/MissionManager/src/AppMonitor.h b/application/MissionManager/src/AppMonitor.h index 60ae951..3738a55 100644 --- a/application/MissionManager/src/AppMonitor.h +++ b/application/MissionManager/src/AppMonitor.h @@ -25,7 +25,7 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode SetDateTime(AppSetDateTime ¶m) override; + StatusCode SetDateTime(const AppSetDateTime ¶m) override; StatusCode SetTimeZone(const unsigned int &zone) override; StatusCode UploadFile(AppUploadFile ¶m) override; }; diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index 700fdb0..1a99c12 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -62,6 +62,92 @@ enum class StorageType SD_CARD_2, END }; +enum class PlayBackEvent +{ + START = 0, + STOP, + END +}; +enum class StorageFileType +{ + VIDEO = 0, + PICTURE, + END +}; +enum class StorageFileEvent +{ + LOOP = 0, + PIR, + CRASH, + END +}; +enum class MicStatus +{ + OFF = 0, + ON, + END +}; +enum class GpsCapability +{ + NOT_SUPPORT = 0, + END +}; +enum class DeviceType +{ + DASH_CAMERA = 0, + END +}; +enum class DashAlbum +{ + SUPPORT_PARKING_MONITOR_ALBUM = 0, + NOT_SUPPORT_PARKING_MONITOR_ALBUM, + END +}; +enum class AppLock +{ + NOT_SUPPORT_APP_LOCK = 0, + SUPPORT_APP_LOCK, + END +}; +enum class DeleteLock +{ + SUPPORT_DELETE_LOCK = 0, + NOT_SUPPORT_DELETE_LOCK, + END +}; +enum class DeviceMode +{ + NEED_TO_SWITCH = 0, + NOT_NEED_TO_SWITCH, + END +}; +enum class PlaybackType +{ + DOWNLOAD_PLAYBACK = 0, + RTSP_TCP, + RTSP_UDP, + END +}; +enum class PhotographCapability +{ + SUPPORT_TAKE_PICTURE = 0, + NOT_SUPPORT_TAKE_PICTURE, + END +}; +enum class WifiCapability +{ + SUPPORT_MODIFY_SSID_AND_PASSWORD = 0, + ONLY_SUPPORT_MODIFY_PASSWORD, + NOLY_SUPPORT_MODIFY_SSID, + NOT_SUPPORT_MODIFY_ANYTHING, + END +}; +enum class FileCopy +{ + NOT_SUPPORT_COPY = 0, + SUPPORT_COPY, + END +}; typedef struct app_get_product_info { app_get_product_info() {} @@ -114,23 +200,34 @@ typedef struct app_get_battery_info } AppGetBatteryInfo; typedef struct app_get_param_value { - app_get_param_value() - { - mCapacity = 0; - mChargeStatus = ChargeStatus::END; - } - int mCapacity; - ChargeStatus mChargeStatus; + app_get_param_value() { mMicStatus = MicStatus::END; } + MicStatus mMicStatus; } AppGetParamValue; typedef struct app_get_capability { app_get_capability() { - mCapacity = 0; - mChargeStatus = ChargeStatus::END; + mGpsCapability = GpsCapability::END; + mDeviceType = DeviceType::END; + mAlbum = DashAlbum::END; + mAppLock = AppLock::END; + mDeleteLock = DeleteLock::END; + mDeviceMode = DeviceMode::END; + mPlaybackType = PlaybackType::END; + mPhotographCapability = PhotographCapability::END; + mWifiCapability = WifiCapability::END; + mFileCopy = FileCopy::END; } - int mCapacity; - ChargeStatus mChargeStatus; + GpsCapability mGpsCapability; + DeviceType mDeviceType; + DashAlbum mAlbum; + AppLock mAppLock; + DeleteLock mDeleteLock; + DeviceMode mDeviceMode; + PlaybackType mPlaybackType; + PhotographCapability mPhotographCapability; + WifiCapability mWifiCapability; + FileCopy mFileCopy; } AppGetCapability; typedef struct app_get_storage_info { @@ -147,6 +244,33 @@ typedef struct app_get_storage_info int mFree; int mTotal; } AppGetStorageInfo; +typedef struct app_get_file_info +{ + app_get_file_info() + { + mStartIndex = 0; + mStopIndex = 0; + mEvent = StorageFileEvent::END; + } + int mStartIndex; + int mStopIndex; + StorageFileEvent mEvent; +} AppGetFileInfo; +typedef struct app_get_file_list +{ + app_get_file_list() + { + mDuration = 0; + mSize = 0; + mCreateTime_s = 0; + mType = StorageFileType::END; + } + std::string mName; + int mDuration; + int mSize; + time_t mCreateTime_s; + StorageFileType mType; +} AppGetFileList; typedef struct app_set_param_value { app_set_param_value() { mValue = -1; } @@ -191,10 +315,12 @@ public: virtual StatusCode GetCapability(AppGetCapability ¶m); virtual StatusCode GetLockVideoStatus(LockVideoStatus ¶m); virtual StatusCode GetStorageInfo(std::vector ¶m); - virtual StatusCode SetDateTime(AppSetDateTime ¶m); + virtual StatusCode GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m); + virtual StatusCode SetDateTime(const AppSetDateTime ¶m); virtual StatusCode SetTimeZone(const unsigned int &zone); - virtual StatusCode SetParamValue(AppSetParamValue ¶m); + virtual StatusCode SetParamValue(const AppSetParamValue ¶m); virtual StatusCode EnterRecorder(void); + virtual StatusCode AppPlayback(const PlayBackEvent &event); virtual StatusCode UploadFile(AppUploadFile ¶m); }; typedef struct app_param diff --git a/middleware/AppManager/src/IAppManager.cpp b/middleware/AppManager/src/IAppManager.cpp index 67e8ca2..8ad80ef 100644 --- a/middleware/AppManager/src/IAppManager.cpp +++ b/middleware/AppManager/src/IAppManager.cpp @@ -47,13 +47,24 @@ StatusCode VAppMonitor::GetStorageInfo(std::vector ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::SetDateTime(AppSetDateTime ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::SetDateTime(const AppSetDateTime ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::SetTimeZone(const unsigned int &zone) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::SetParamValue(AppSetParamValue ¶m) +StatusCode VAppMonitor::SetParamValue(const AppSetParamValue ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } StatusCode VAppMonitor::EnterRecorder(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::AppPlayback(const PlayBackEvent &event) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::UploadFile(AppUploadFile ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } std::shared_ptr &IAppManager::GetInstance(std::shared_ptr *impl) { diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 54f7fe6..9ca1299 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -20,21 +20,25 @@ using std::placeholders::_1; using std::placeholders::_2; using std::placeholders::_3; // using std::placeholders::_4; -const char *CJSON_INFO_STRING = "info"; -const char *APP_GET_PRODUCT_INFO = "/app/getproductinfo"; -const char *APP_GET_DEVICE_ATTR = "/app/getdeviceattr"; -const char *APP_GET_MEDIA_INFO = "/app/getmediainfo"; -const char *APP_GET_SD_CARD_INFO = "/app/getsdinfo"; -const char *APP_GET_BATTERY_INFO = "/app/getbatteryinfo"; -const char *APP_GET_PARAM_VALUE = "/app/getparamvalue"; -const char *APP_GET_CAPABILITY = "/app/capability"; -const char *APP_GET_LOCK_VIDEO_STATUS = "/app/getlockvideostatus"; -const char *APP_GET_STORAGE_INFO = "/app/getstorageinfo"; -const char *APP_SET_DATE_TIME = "/app/setsystime"; -const char *APP_SET_TIME_ZONE = "/app/settimezone"; -const char *APP_SET_PARAM_VALUE = "/app/setparamvalue"; -const char *APP_ENTER_RECORDER = "/app/enterrecorder"; -const char *APP_UPLOAD_FILE = "/upload"; +// clang-format off +const char *CJSON_INFO_STRING = "info"; +const char *APP_GET_PRODUCT_INFO = "/app/getproductinfo"; +const char *APP_GET_DEVICE_ATTR = "/app/getdeviceattr"; +const char *APP_GET_MEDIA_INFO = "/app/getmediainfo"; +const char *APP_GET_SD_CARD_INFO = "/app/getsdinfo"; +const char *APP_GET_BATTERY_INFO = "/app/getbatteryinfo"; +const char *APP_GET_PARAM_VALUE = "/app/getparamvalue"; +const char *APP_GET_CAPABILITY = "/app/capability"; +const char *APP_GET_LOCK_VIDEO_STATUS = "/app/getlockvideostatus"; +const char *APP_GET_STORAGE_INFO = "/app/getstorageinfo"; +const char *APP_GET_FILE_LIST = "/app/getfilelist"; +const char *APP_SET_DATE_TIME = "/app/setsystime"; +const char *APP_SET_TIME_ZONE = "/app/settimezone"; +const char *APP_SET_PARAM_VALUE = "/app/setparamvalue"; +const char *APP_ENTER_RECORDER = "/app/enterrecorder"; +const char *APP_PLAYBACK = "/app/playback"; +const char *APP_UPLOAD_FILE = "/upload"; +// clang-format on constexpr bool SET_REQUEST_RESPONSE = true; SixFrameHandle::SixFrameHandle() { @@ -48,9 +52,13 @@ SixFrameHandle::SixFrameHandle() mResquesHandleFunc[APP_GET_CAPABILITY] = std::bind(&SixFrameHandle::RequestGetCapability, this, _1, _2, _3); mResquesHandleFunc[APP_GET_LOCK_VIDEO_STATUS] = std::bind(&SixFrameHandle::RequestGetLockVideoStatus, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_STORAGE_INFO] = std::bind(&SixFrameHandle::RequestGetStorageInfo, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_FILE_LIST] = std::bind(&SixFrameHandle::RequestGetFileList, this, _1, _2, _3); mResquesHandleFunc[APP_SET_DATE_TIME] = std::bind(&SixFrameHandle::RequestSetDateTime, this, _1, _2, _3); mResquesHandleFunc[APP_SET_TIME_ZONE] = std::bind(&SixFrameHandle::RequestSetTimeZone, this, _1, _2, _3); + mResquesHandleFunc[APP_SET_PARAM_VALUE] = std::bind(&SixFrameHandle::RequestSetParamValue, this, _1, _2, _3); mResquesHandleFunc[APP_ENTER_RECORDER] = std::bind(&SixFrameHandle::RequestEnterRecorder, this, _1, _2, _3); + mResquesHandleFunc[APP_PLAYBACK] = std::bind(&SixFrameHandle::RequestPlayback, this, _1, _2, _3); mResquesHandleFunc[APP_UPLOAD_FILE] = std::bind(&SixFrameHandle::RequestUpload, this, _1, _2, _3); // mResquesHandleFunc["favicon.ico"] = std::bind(&SixFrameHandle::DoNothing, this, _1, _2, _); } @@ -190,6 +198,7 @@ void inline SixFrameHandle::ResponseGetMediaInfo(cJSON *result, const AppGetMeid cJSON_AddStringToObject(info, "rtsp", param.mRtspUrl.c_str()); cJSON_AddStringToObject(info, "transport", param.mTransport.c_str()); cJSON_AddNumberToObject(info, "port", param.mPort); + cJSON_AddNumberToObject(info, "page", 1); // TODO: 1 means app will paging to retrieve files. } void SixFrameHandle::RequestGetSdCardInfo(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -253,10 +262,18 @@ void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle } void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m) { - cJSON *info = nullptr; - cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); - cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); - cJSON_AddNumberToObject(info, "capacity", param.mCapacity); + cJSON *info = cJSON_CreateArray(); + if (nullptr == info) { + LogError("cJSON_CreateArray failed.\n"); + return; + } + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); + cJSON *mic = cJSON_CreateObject(); + if (nullptr != mic) { + cJSON_AddItemToArray(info, mic); + cJSON_AddStringToObject(mic, "name", "mic"); + cJSON_AddNumberToObject(mic, "value", static_cast(param.mMicStatus)); + } } void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -277,8 +294,18 @@ void inline SixFrameHandle::ResponseGetCapability(cJSON *result, const AppGetCap { cJSON *info = nullptr; cJSON_AddItemToObject(result, CJSON_INFO_STRING, info = cJSON_CreateObject()); - cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); - cJSON_AddNumberToObject(info, "capacity", param.mCapacity); + std::ostringstream value; + value << static_cast(param.mGpsCapability); + value << static_cast(param.mDeviceType); + value << static_cast(param.mAlbum); + value << static_cast(param.mAppLock); + value << static_cast(param.mDeleteLock); + value << static_cast(param.mDeviceMode); + value << static_cast(param.mPlaybackType); + value << static_cast(param.mPhotographCapability); + value << static_cast(param.mWifiCapability); + value << static_cast(param.mFileCopy); + cJSON_AddStringToObject(info, "value", value.str().c_str()); } void SixFrameHandle::RequestGetLockVideoStatus(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -337,6 +364,74 @@ void inline SixFrameHandle::ResponseGetStorageInfo(cJSON *result, const std::vec } } } +AppGetFileInfo inline SixFrameHandle::RequestGetFileListParse(const std::string &url) +{ + auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { + std::shared_ptr> parseyImpl = + std::dynamic_pointer_cast>(parse); + if ("folder" == key) { + if ("loop" == value) { + parseyImpl->mData.mEvent = StorageFileEvent::END; + } + if ("emr" == value) { + parseyImpl->mData.mEvent = StorageFileEvent::END; + } + if ("event" == value) { + parseyImpl->mData.mEvent = StorageFileEvent::END; + } + if ("park" == value) { + parseyImpl->mData.mEvent = StorageFileEvent::END; + } + } + if ("start" == key) { + parseyImpl->mData.mStartIndex = std::stoi(value); + } + if ("end" == key) { + parseyImpl->mData.mStopIndex = std::stoi(value); + } + }; + std::shared_ptr parse = std::make_shared>(); + std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + ExtractParamsFromUrl(url, parseFunc, parse); + return parseyImpl->mData; +} +void SixFrameHandle::RequestGetFileList(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetFileList.\n"); + std::vector param; + AppGetFileInfo info = RequestGetFileListParse(url); + mAppMonitor->GetStorageFileList(info, param); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseGetFileList(result, param); + ResponseJsonString(result, responseHandle, context); + cJSON_Delete(result); +} +void inline SixFrameHandle::ResponseGetFileList(cJSON *result, const std::vector ¶m) +{ + cJSON *info = cJSON_CreateArray(); + if (nullptr == info) { + LogError("cJSON_CreateArray failed.\n"); + return; + } + cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); + for (const auto &fileInfo : param) { + cJSON *file = nullptr; + file = cJSON_CreateObject(); + if (nullptr != file) { + cJSON_AddItemToArray(info, file); + cJSON_AddStringToObject(file, "name", fileInfo.mName.c_str()); + cJSON_AddNumberToObject(file, "duration", fileInfo.mDuration); + cJSON_AddNumberToObject(file, "size", fileInfo.mSize); + cJSON_AddNumberToObject(file, "createtime", fileInfo.mCreateTime_s); + cJSON_AddNumberToObject(file, "type", static_cast(fileInfo.mType)); + } + } +} AppSetDateTime inline SixFrameHandle::RequestSetDateTimeParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { @@ -451,6 +546,39 @@ void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } +PlayBackEvent inline SixFrameHandle::RequestPlaybackParse(const std::string &url) +{ + auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { + std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + if ("param" == key) { + if ("enter" == value) { + parseyImpl->mData = PlayBackEvent::START; + } + if ("exit" == value) { + parseyImpl->mData = PlayBackEvent::STOP; + } + } + }; + std::shared_ptr parse = std::make_shared>(); + std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + parseyImpl->mData = PlayBackEvent::END; + ExtractParamsFromUrl(url, parseFunc, parse); + return parseyImpl->mData; +} +void SixFrameHandle::RequestPlayback(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestPlayback.\n"); + PlayBackEvent value = RequestPlaybackParse(url); + mAppMonitor->AppPlayback(value); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); + if (nullptr == result) { + LogError("MakeResponseResult failed.\n"); + responseHandle("Device run out of memory.", context); + return; + } + ResponseJsonString(result, responseHandle, context); + cJSON_Delete(result); +} void SixFrameHandle::RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestEnterRecorder.\n"); diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 6d5bc9c..914a5ec 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -76,12 +76,17 @@ private: void ResponseGetLockVideoStatus(cJSON *result, const LockVideoStatus ¶m); void RequestGetStorageInfo(const std::string &url, ResponseHandle responseHandle, void *context); void ResponseGetStorageInfo(cJSON *result, const std::vector ¶m); + AppGetFileInfo RequestGetFileListParse(const std::string &url); + void RequestGetFileList(const std::string &url, ResponseHandle responseHandle, void *context); + void ResponseGetFileList(cJSON *result, const std::vector ¶m); AppSetDateTime RequestSetDateTimeParse(const std::string &url); void RequestSetDateTime(const std::string &url, ResponseHandle responseHandle, void *context); int RequestSetTimeZoneParse(const std::string &url); void RequestSetTimeZone(const std::string &url, ResponseHandle responseHandle, void *context); AppSetParamValue RequestSetParamValueParse(const std::string &url); void RequestSetParamValue(const std::string &url, ResponseHandle responseHandle, void *context); + PlayBackEvent RequestPlaybackParse(const std::string &url); + void RequestPlayback(const std::string &url, ResponseHandle responseHandle, void *context); void RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context); void RequestUpload(const std::string &url, ResponseHandle responseHandle, void *context); diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp index 6045c95..355e6e5 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp @@ -60,7 +60,7 @@ StatusCode TestMissionStateTest::GetBatteryInfo(AppGetBatteryInfo ¶m) } return code; } -StatusCode TestMissionStateTest::SetDateTime(AppSetDateTime ¶m) +StatusCode TestMissionStateTest::SetDateTime(const AppSetDateTime ¶m) { LogInfo("TestMissionStateTest::SetDateTime\n"); LogInfo("mYear = %u\n", param.mYear); diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.h b/test/application/MissionManager/tool/src/TestMissionStateMock.h index 2806095..1b27ff0 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.h +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.h @@ -27,7 +27,7 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode SetDateTime(AppSetDateTime ¶m) override; + StatusCode SetDateTime(const AppSetDateTime ¶m) override; StatusCode SetTimeZone(const unsigned int &zone) override; StatusCode UploadFile(AppUploadFile ¶m) override; // const StatusCode SetAppMonitor(std::shared_ptr &monitor) override; diff --git a/test/middleware/AppManager/CMakeLists.txt b/test/middleware/AppManager/CMakeLists.txt index 80edc3e..d448c77 100644 --- a/test/middleware/AppManager/CMakeLists.txt +++ b/test/middleware/AppManager/CMakeLists.txt @@ -34,7 +34,7 @@ endif() set(TARGET_NAME AppManagerTest) add_executable(${TARGET_NAME} ${SRC_FILES_MAIN} ${SRC_FILES}) -target_link_libraries(${TARGET_NAME} AppManagerTestTool gtest gmock pthread) +target_link_libraries(${TARGET_NAME} AppManagerTestTool HalTestTool gtest gmock pthread) if(${TEST_COVERAGE} MATCHES "true") target_link_libraries(${TARGET_NAME} gcov) endif() diff --git a/test/middleware/AppManager/src/AppManager_Test.cpp b/test/middleware/AppManager/src/AppManager_Test.cpp index cb598f3..de3da5b 100644 --- a/test/middleware/AppManager/src/AppManager_Test.cpp +++ b/test/middleware/AppManager/src/AppManager_Test.cpp @@ -13,6 +13,7 @@ * limitations under the License. */ #include "AppManagerTestTool.h" +#include "HalTestTool.h" #include "IAppManager.h" #include "ILog.h" #include @@ -20,7 +21,7 @@ #include namespace AppManagerTest { -class AppManagerTest : public testing::Test, public AppManagerTestTool +class AppManagerTest : public testing::Test, public AppManagerTestTool, public HalTestTool { public: AppManagerTest() : mAppParam(APP_MANAGER_HTTP_SERVER_IP, APP_MANAGER_HTTP_SERVER_PORT) {} @@ -33,13 +34,17 @@ public: static void TearDownTestCase() { ILogUnInit(); } virtual void SetUp() { + HalTestTool::Init(); AppManagerTestTool::Init(); + CreateHalCppModule(); CreateAppManagerModule(); } virtual void TearDown() { AppManagerTestTool::UnInit(); + HalTestTool::UnInit(); DestroyAppManagerModule(); + DestroyHalCppModule(); } protected: @@ -145,4 +150,100 @@ TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_SetTimeZone) std::this_thread::sleep_for(std::chrono::milliseconds(1000)); IAppManager::GetInstance()->UnInit(); } +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_GetParamValue +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_GetParamValue) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetParamValue(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_GetCapability +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_GetCapability) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetCapability(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_GetLockVideoStatus +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_GetLockVideoStatus) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetLockVideoStatus(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_GetStorageInfo +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_GetStorageInfo) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetStorageInfo(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_GetStorageFileList +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_GetStorageFileList) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetStorageFileList(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_SetParamValue +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_SetParamValue) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockSetParamValue(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_EnterRecorder +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_EnterRecorder) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockEnterRecorder(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} +// ../output_files/test/bin/AppManagerTest +// --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_AUTO_AppPlayback +TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_AUTO_AppPlayback) +{ + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); + IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockAppPlayback(); + std::this_thread::sleep_for(std::chrono::milliseconds(1000)); + IAppManager::GetInstance()->UnInit(); +} } // namespace AppManagerTest \ No newline at end of file diff --git a/test/middleware/AppManager/tool/include/AppManagerTestTool.h b/test/middleware/AppManager/tool/include/AppManagerTestTool.h index da37b38..2e6020b 100644 --- a/test/middleware/AppManager/tool/include/AppManagerTestTool.h +++ b/test/middleware/AppManager/tool/include/AppManagerTestTool.h @@ -34,6 +34,14 @@ protected: void MockSetDateTime(void); void MockSetTimeZone(void); void MockUploadFiles(void); + void MockGetParamValue(void); + void MockGetCapability(void); + void MockGetLockVideoStatus(void); + void MockGetStorageInfo(void); + void MockGetStorageFileList(void); + void MockSetParamValue(void); + void MockEnterRecorder(void); + void MockAppPlayback(void); private: void AppManagerMockInit(std::shared_ptr &vMock); diff --git a/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp b/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp index 7651dc0..1bf97e3 100644 --- a/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp +++ b/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp @@ -114,6 +114,86 @@ void AppManagerTestTool::MockUploadFiles(void) } ServersMock::GetInstance()->MockUploadFiles(); } +void AppManagerTestTool::MockGetParamValue(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetParamValueTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockGetParamValue(); +} +void AppManagerTestTool::MockGetCapability(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetCapabilityTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockGetCapability(); +} +void AppManagerTestTool::MockGetLockVideoStatus(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetLockVideoStatusTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockGetLockVideoStatus(); +} +void AppManagerTestTool::MockGetStorageInfo(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetStorageInfoTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockGetStorageInfo(); +} +void AppManagerTestTool::MockGetStorageFileList(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetStorageFileListTrace(_, _)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockGetStorageFileList(); +} +void AppManagerTestTool::MockSetParamValue(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), SetParamValueTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockSetParamValue(); +} +void AppManagerTestTool::MockEnterRecorder(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), EnterRecorderTrace()) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockEnterRecorder(); +} +void AppManagerTestTool::MockAppPlayback(void) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), AppPlaybackTrace(_)) + .Times(ONLY_BE_CALLED_ONCE) + .WillOnce(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + } + ServersMock::GetInstance()->MockAppPlayback(); +} void AppManagerTestTool::AppManagerMockInit(std::shared_ptr &vMock) { std::shared_ptr mock = std::dynamic_pointer_cast(vMock); @@ -155,10 +235,28 @@ void AppManagerTestTool::AppMonitorInit(std::shared_ptr &vMock) .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); EXPECT_CALL(*mock.get(), GetSdCardInfoTrace(_)) .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), GetParamValueTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), GetCapabilityTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), GetLockVideoStatusTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), GetStorageInfoTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), GetStorageFileListTrace(_, _)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); EXPECT_CALL(*mock.get(), GetBatteryInfoTrace(_)) .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); EXPECT_CALL(*mock.get(), SetDateTimeTrace(_)) .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), SetTimeZoneTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), SetParamValueTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), EnterRecorderTrace()) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); + EXPECT_CALL(*mock.get(), AppPlaybackTrace(_)) + .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); EXPECT_CALL(*mock.get(), UploadFileTrace(_)) .WillRepeatedly(DoAll(Return(CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION)))); } diff --git a/test/middleware/AppManager/tool/src/AppMonitorMock.cpp b/test/middleware/AppManager/tool/src/AppMonitorMock.cpp index 5185208..5d3d131 100644 --- a/test/middleware/AppManager/tool/src/AppMonitorMock.cpp +++ b/test/middleware/AppManager/tool/src/AppMonitorMock.cpp @@ -84,7 +84,77 @@ StatusCode AppMonitorTrace::GetBatteryInfoTrace(AppGetBatteryInfo ¶m) LogInfo("AppMonitorTrace::GetBatteryInfoTrace\n"); return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode AppMonitorTest::SetDateTime(AppSetDateTime ¶m) +StatusCode AppMonitorTest::GetParamValue(AppGetParamValue ¶m) +{ + LogInfo("AppMonitorTest::GetParamValue\n"); + StatusCode code = GetParamValueTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::GetParamValue(param); + } + return code; +} +StatusCode AppMonitorTrace::GetParamValueTrace(AppGetParamValue ¶m) +{ + LogInfo("AppMonitorTrace::GetParamValueTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::GetCapability(AppGetCapability ¶m) +{ + LogInfo("AppMonitorTest::GetCapability\n"); + StatusCode code = GetCapabilityTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::GetCapability(param); + } + return code; +} +StatusCode AppMonitorTrace::GetCapabilityTrace(AppGetCapability ¶m) +{ + LogInfo("AppMonitorTrace::GetCapabilityTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::GetLockVideoStatus(LockVideoStatus ¶m) +{ + LogInfo("AppMonitorTest::GetLockVideoStatus\n"); + StatusCode code = GetLockVideoStatusTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::GetLockVideoStatus(param); + } + return code; +} +StatusCode AppMonitorTrace::GetLockVideoStatusTrace(LockVideoStatus ¶m) +{ + LogInfo("AppMonitorTrace::GetLockVideoStatusTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::GetStorageInfo(std::vector ¶m) +{ + LogInfo("AppMonitorTest::GetStorageInfo\n"); + StatusCode code = GetStorageInfoTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::GetStorageInfo(param); + } + return code; +} +StatusCode AppMonitorTrace::GetStorageInfoTrace(std::vector ¶m) +{ + LogInfo("AppMonitorTrace::GetStorageInfoTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) +{ + LogInfo("AppMonitorTest::GetStorageFileList\n"); + StatusCode code = GetStorageFileListTrace(fileInfo, param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::GetStorageFileList(fileInfo, param); + } + return code; +} +StatusCode AppMonitorTrace::GetStorageFileListTrace(const AppGetFileInfo &fileInfo, std::vector ¶m) +{ + LogInfo("AppMonitorTrace::GetStorageFileListTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::SetDateTime(const AppSetDateTime ¶m) { LogInfo("AppMonitorTest::SetDateTime\n"); LogInfo("mYear = %u\n", param.mYear); @@ -99,7 +169,7 @@ StatusCode AppMonitorTest::SetDateTime(AppSetDateTime ¶m) } return code; } -StatusCode AppMonitorTrace::SetDateTimeTrace(AppSetDateTime ¶m) +StatusCode AppMonitorTrace::SetDateTimeTrace(const AppSetDateTime ¶m) { LogInfo("AppMonitorTrace::SetDateTimeTrace\n"); return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); @@ -118,6 +188,48 @@ StatusCode AppMonitorTrace::SetTimeZoneTrace(const unsigned int &zone) LogInfo("AppMonitorTrace::SetTimeZoneTrace\n"); return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode AppMonitorTest::SetParamValue(const AppSetParamValue ¶m) +{ + LogInfo("AppMonitorTest::SetParamValue\n"); + StatusCode code = SetParamValueTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::SetParamValue(param); + } + return code; +} +StatusCode AppMonitorTrace::SetParamValueTrace(const AppSetParamValue ¶m) +{ + LogInfo("AppMonitorTrace::SetParamValueTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::EnterRecorder(void) +{ + LogInfo("AppMonitorTest::EnterRecorder\n"); + StatusCode code = EnterRecorderTrace(); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::EnterRecorder(); + } + return code; +} +StatusCode AppMonitorTrace::EnterRecorderTrace(void) +{ + LogInfo("AppMonitorTrace::EnterRecorderTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode AppMonitorTest::AppPlayback(const PlayBackEvent &event) +{ + LogInfo("AppMonitorTest::AppPlayback\n"); + StatusCode code = AppPlaybackTrace(event); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return VAppMonitor::AppPlayback(event); + } + return code; +} +StatusCode AppMonitorTrace::AppPlaybackTrace(const PlayBackEvent &event) +{ + LogInfo("AppMonitorTrace::AppPlaybackTrace\n"); + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode AppMonitorTest::UploadFile(AppUploadFile ¶m) { LogInfo("AppMonitorTest::UploadFile\n"); diff --git a/test/middleware/AppManager/tool/src/AppMonitorMock.h b/test/middleware/AppManager/tool/src/AppMonitorMock.h index 42add15..9acaa19 100644 --- a/test/middleware/AppManager/tool/src/AppMonitorMock.h +++ b/test/middleware/AppManager/tool/src/AppMonitorMock.h @@ -28,8 +28,16 @@ protected: virtual StatusCode GetMediaInfoTrace(AppGetMeidaInfo ¶m); virtual StatusCode GetSdCardInfoTrace(AppGetSdCardInfo ¶m); virtual StatusCode GetBatteryInfoTrace(AppGetBatteryInfo ¶m); - virtual StatusCode SetDateTimeTrace(AppSetDateTime ¶m); + virtual StatusCode GetParamValueTrace(AppGetParamValue ¶m); + virtual StatusCode GetCapabilityTrace(AppGetCapability ¶m); + virtual StatusCode GetLockVideoStatusTrace(LockVideoStatus ¶m); + virtual StatusCode GetStorageInfoTrace(std::vector ¶m); + virtual StatusCode GetStorageFileListTrace(const AppGetFileInfo &fileInfo, std::vector ¶m); + virtual StatusCode SetDateTimeTrace(const AppSetDateTime ¶m); virtual StatusCode SetTimeZoneTrace(const unsigned int &zone); + virtual StatusCode SetParamValueTrace(const AppSetParamValue ¶m); + virtual StatusCode EnterRecorderTrace(void); + virtual StatusCode AppPlaybackTrace(const PlayBackEvent &event); virtual StatusCode UploadFileTrace(AppUploadFile ¶m); }; class AppMonitorTest : public VAppMonitor, virtual public AppMonitorTrace @@ -42,8 +50,16 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode SetDateTime(AppSetDateTime ¶m) override; + StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetCapability(AppGetCapability ¶m) override; + StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; + StatusCode GetStorageInfo(std::vector ¶m) override; + StatusCode GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) override; + StatusCode SetDateTime(const AppSetDateTime ¶m) override; StatusCode SetTimeZone(const unsigned int &zone) override; + StatusCode SetParamValue(const AppSetParamValue ¶m) override; + StatusCode EnterRecorder(void) override; + StatusCode AppPlayback(const PlayBackEvent &event) override; StatusCode UploadFile(AppUploadFile ¶m) override; }; class AppMonitorMock : virtual public AppMonitorTrace @@ -56,8 +72,16 @@ public: MOCK_METHOD1(GetMediaInfoTrace, StatusCode(AppGetMeidaInfo &)); MOCK_METHOD1(GetSdCardInfoTrace, StatusCode(AppGetSdCardInfo &)); MOCK_METHOD1(GetBatteryInfoTrace, StatusCode(AppGetBatteryInfo &)); - MOCK_METHOD1(SetDateTimeTrace, StatusCode(AppSetDateTime &)); + MOCK_METHOD1(GetParamValueTrace, StatusCode(AppGetParamValue &)); + MOCK_METHOD1(GetCapabilityTrace, StatusCode(AppGetCapability &)); + MOCK_METHOD1(GetLockVideoStatusTrace, StatusCode(LockVideoStatus &)); + MOCK_METHOD1(GetStorageInfoTrace, StatusCode(std::vector &)); + MOCK_METHOD2(GetStorageFileListTrace, StatusCode(const AppGetFileInfo &, std::vector &)); + MOCK_METHOD1(SetDateTimeTrace, StatusCode(const AppSetDateTime &)); MOCK_METHOD1(SetTimeZoneTrace, StatusCode(const unsigned int &)); + MOCK_METHOD1(SetParamValueTrace, StatusCode(const AppSetParamValue &)); + MOCK_METHOD0(EnterRecorderTrace, StatusCode(void)); + MOCK_METHOD1(AppPlaybackTrace, StatusCode(const PlayBackEvent &)); MOCK_METHOD1(UploadFileTrace, StatusCode(AppUploadFile &)); }; #endif \ No newline at end of file diff --git a/test/middleware/AppManager/tool/src/ServersMock.cpp b/test/middleware/AppManager/tool/src/ServersMock.cpp index 6d2b861..a8cd93e 100644 --- a/test/middleware/AppManager/tool/src/ServersMock.cpp +++ b/test/middleware/AppManager/tool/src/ServersMock.cpp @@ -21,8 +21,16 @@ extern const char *APP_GET_DEVICE_ATTR; extern const char *APP_GET_MEDIA_INFO; extern const char *APP_GET_SD_CARD_INFO; extern const char *APP_GET_BATTERY_INFO; +extern const char *APP_GET_PARAM_VALUE; +extern const char *APP_GET_CAPABILITY; +extern const char *APP_GET_LOCK_VIDEO_STATUS; +extern const char *APP_GET_STORAGE_INFO; +extern const char *APP_GET_FILE_LIST; extern const char *APP_SET_DATE_TIME; extern const char *APP_SET_TIME_ZONE; +extern const char *APP_SET_PARAM_VALUE; +extern const char *APP_ENTER_RECORDER; +extern const char *APP_PLAYBACK; extern const char *APP_UPLOAD_FILE; std::shared_ptr &ServersMock::GetInstance(std::shared_ptr *impl) { @@ -140,9 +148,94 @@ void ServersMock::MockGetBatteryInfo(void) DeleteServersHttp(http); } } +void ServersMock::MockGetParamValue(void) +{ + LogInfo("APP_GET_PARAM_VALUE test start.\n"); + std::string mockRequest = mServerUrl + APP_GET_PARAM_VALUE; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockGetCapability(void) +{ + LogInfo("APP_GET_CAPABILITY test start.\n"); + std::string mockRequest = mServerUrl + APP_GET_CAPABILITY; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockGetLockVideoStatus(void) +{ + LogInfo("APP_GET_LOCK_VIDEO_STATUS test start.\n"); + std::string mockRequest = mServerUrl + APP_GET_LOCK_VIDEO_STATUS; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockGetStorageInfo(void) +{ + LogInfo("APP_GET_STORAGE_INFO test start.\n"); + std::string mockRequest = mServerUrl + APP_GET_STORAGE_INFO; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockGetStorageFileList(void) +{ + LogInfo("APP_GET_FILE_LIST test start.\n"); + std::string mockRequest = mServerUrl + APP_GET_FILE_LIST; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} void ServersMock::MockSetDateTime(void) { - LogInfo("APP_GET_BATTERY_INFO test start.\n"); + LogInfo("APP_SET_DATE_TIME test start.\n"); std::string mockRequest = mServerUrl + APP_SET_DATE_TIME + "?date=20240101010101"; ServerHttp *http = NewServersHttp(mockRequest.c_str()); if (http) { @@ -174,6 +267,57 @@ void ServersMock::MockSetTimeZone(void) DeleteServersHttp(http); } } +void ServersMock::MockSetParamValue(void) +{ + LogInfo("APP_SET_PARAM_VALUE test start.\n"); + std::string mockRequest = mServerUrl + APP_SET_PARAM_VALUE + "?timezone=8"; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockEnterRecorder(void) +{ + LogInfo("APP_ENTER_RECORDER test start.\n"); + std::string mockRequest = mServerUrl + APP_ENTER_RECORDER + "?timezone=8"; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} +void ServersMock::MockAppPlayback(void) +{ + LogInfo("APP_PLAYBACK test start.\n"); + std::string mockRequest = mServerUrl + APP_PLAYBACK + "?timezone=8"; + ServerHttp *http = NewServersHttp(mockRequest.c_str()); + if (http) { + HttpGet(http); + if (http->reply) { + char *replyStr = (char *)malloc(http->replyLength + 1); + memset(replyStr, 0, http->replyLength + 1); + memcpy(replyStr, http->reply, http->replyLength); + LogInfo("HttpGet response :\n%s\n", replyStr); + free(replyStr); + } + DeleteServersHttp(http); + } +} #ifndef PLATFORM_PATH #error Add the code in your linux.toolchain.cmake : add_definitions(-DPLATFORM_PATH="${PLATFORM_PATH}") #endif diff --git a/test/middleware/AppManager/tool/src/ServersMock.h b/test/middleware/AppManager/tool/src/ServersMock.h index 4562a2b..14963ec 100644 --- a/test/middleware/AppManager/tool/src/ServersMock.h +++ b/test/middleware/AppManager/tool/src/ServersMock.h @@ -28,8 +28,16 @@ public: virtual void MockGetMediaInfo(void); virtual void MockGetSdCardInfo(void); virtual void MockGetBatteryInfo(void); + virtual void MockGetParamValue(void); + virtual void MockGetCapability(void); + virtual void MockGetLockVideoStatus(void); + virtual void MockGetStorageInfo(void); + virtual void MockGetStorageFileList(void); virtual void MockSetDateTime(void); virtual void MockSetTimeZone(void); + virtual void MockSetParamValue(void); + virtual void MockEnterRecorder(void); + virtual void MockAppPlayback(void); virtual void MockUploadFiles(void); private: From 9a10d9e16a10f9789125004b11f8e776bd1d714f Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 25 Mar 2024 11:24:54 +0800 Subject: [PATCH 06/19] Improve:MissionManager module. --- application/MissionManager/src/AppMonitor.cpp | 40 +++++++++ application/MissionManager/src/AppMonitor.h | 8 ++ doc/huntting_project_report.md | 20 +++++ .../src/Protocol/SixFrame/SixFrameHandle.cpp | 2 +- .../src_mock/HunttingCamera_Mock_Test.cpp | 88 +++++++++++++++++++ .../tool/src/TestMissionStateMock.cpp | 72 +++++++++++++++ .../tool/src/TestMissionStateMock.h | 11 ++- .../AppManager/tool/src/ServersMock.cpp | 8 +- 8 files changed, 241 insertions(+), 8 deletions(-) create mode 100644 doc/huntting_project_report.md diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index b416f92..8771a11 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -60,6 +60,43 @@ StatusCode AppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) param.mChargeStatus = ChargeStatus::CHARGING; return CreateStatusCode(STATUS_CODE_OK); } +StatusCode AppMonitor::GetParamValue(AppGetParamValue ¶m) +{ + param.mMicStatus = MicStatus::ON; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::GetCapability(AppGetCapability ¶m) +{ + // + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::GetLockVideoStatus(LockVideoStatus ¶m) +{ + param = LockVideoStatus::LOCK; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::GetStorageInfo(std::vector ¶m) +{ + AppGetStorageInfo info; + info.mIndex = 0; + info.mName = "TF card"; + info.mType = StorageType::SD_CARD_1; + info.mFree = 1024 * 32; + info.mTotal = 1024 * 32; + param.push_back(info); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) +{ + AppGetFileList file; + file.mCreateTime_s = 123456789; + file.mDuration = 15; + file.mName = "/video/test.mp4"; + file.mSize = 1024; + file.mType = StorageFileType::VIDEO; + param.push_back(file); + return CreateStatusCode(STATUS_CODE_OK); +} StatusCode AppMonitor::SetDateTime(const AppSetDateTime ¶m) { // @@ -70,6 +107,9 @@ StatusCode AppMonitor::SetTimeZone(const unsigned int &zone) // return CreateStatusCode(STATUS_CODE_OK); } +StatusCode AppMonitor::SetParamValue(const AppSetParamValue ¶m) { return CreateStatusCode(STATUS_CODE_OK); } +StatusCode AppMonitor::EnterRecorder(void) { return CreateStatusCode(STATUS_CODE_OK); } +StatusCode AppMonitor::AppPlayback(const PlayBackEvent &event) { return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::UploadFile(AppUploadFile ¶m) { // diff --git a/application/MissionManager/src/AppMonitor.h b/application/MissionManager/src/AppMonitor.h index 3738a55..1c43980 100644 --- a/application/MissionManager/src/AppMonitor.h +++ b/application/MissionManager/src/AppMonitor.h @@ -25,8 +25,16 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; + StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetCapability(AppGetCapability ¶m) override; + StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; + StatusCode GetStorageInfo(std::vector ¶m) override; + StatusCode GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) override; StatusCode SetDateTime(const AppSetDateTime ¶m) override; StatusCode SetTimeZone(const unsigned int &zone) override; + StatusCode SetParamValue(const AppSetParamValue ¶m) override; + StatusCode EnterRecorder(void) override; + StatusCode AppPlayback(const PlayBackEvent &event) override; StatusCode UploadFile(AppUploadFile ¶m) override; }; #endif \ No newline at end of file diff --git a/doc/huntting_project_report.md b/doc/huntting_project_report.md new file mode 100644 index 0000000..e8d0360 --- /dev/null +++ b/doc/huntting_project_report.md @@ -0,0 +1,20 @@ +# 1. 项目进度汇总 + +## 1.1. 软件开发进度 + +```mermaid +gantt +dateFormat YYYY-MM-DD +title 软件进度-3月 +section 3月 +6帧探RTSP推流 : done, rtsp_media, 2024-03-18,3d +SC230AI快启验证(快启报错) : crit, active, 2024-03-21,3d +6帧探视频回放 : active, 2024-03-25,3d +``` + +### 1.1.1. 总结 + +* 截至2024-3-25: +1. 6侦探协议框架含http和tcp,http协议框架开发完成,rtsp推流到手机APP完成; +2. 存在问题:rtsp推流存在卡顿问题,待优化; +3. 更换SC230AI调试快启,快启报错,需要提问题单找原厂协助; \ No newline at end of file diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 9ca1299..e2dd5d2 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -583,7 +583,7 @@ void SixFrameHandle::RequestEnterRecorder(const std::string &url, ResponseHandle { LogInfo("RequestEnterRecorder.\n"); mAppMonitor->EnterRecorder(); - cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); + cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL, SET_REQUEST_RESPONSE); if (nullptr == result) { LogError("MakeResponseResult failed.\n"); responseHandle("Device run out of memory.", context); diff --git a/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp b/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp index 1b7552a..bdaa161 100644 --- a/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp +++ b/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp @@ -181,4 +181,92 @@ TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_McuOpenFailed) // MockUploadFiles(); MainThread::GetInstance()->Runing(); } +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_GetParamValue +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_GetParamValue) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetParamValue(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_GetCapability +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_GetCapability) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetCapability(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_GetLockVideoStatus +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_GetLockVideoStatus) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetLockVideoStatus(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_GetStorageInfo +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_GetStorageInfo) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetStorageInfo(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_GetStorageFileList +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_GetStorageFileList) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockGetStorageFileList(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_SetParamValue +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_SetParamValue) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockSetParamValue(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_EnterRecorder +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_EnterRecorder) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockEnterRecorder(); + MainThread::GetInstance()->Runing(); +} +// ../output_files/test/bin/HunttingCameraTest +// --gtest_filter=HunttingCameraTest.INTEGRATION_HunttingCamera_AUTO_AppPlayback +TEST_F(HunttingCameraTest, INTEGRATION_HunttingCamera_AUTO_AppPlayback) +{ + McuManagerTestTool::MockMcuDeviceOpenFailed(mLinuxTest); + MainThread::GetInstance()->Init(); + TestManager::ResetTimeOut(1000 * 3); + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + MockAppPlayback(); + MainThread::GetInstance()->Runing(); +} } // namespace HunttingCameraTest \ No newline at end of file diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp index 355e6e5..aa3a599 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp @@ -60,6 +60,51 @@ StatusCode TestMissionStateTest::GetBatteryInfo(AppGetBatteryInfo ¶m) } return code; } +StatusCode TestMissionStateTest::GetParamValue(AppGetParamValue ¶m) +{ + LogInfo("TestMissionStateTest::GetParamValue\n"); + StatusCode code = GetParamValueTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::GetParamValue(param); + } + return code; +} +StatusCode TestMissionStateTest::GetCapability(AppGetCapability ¶m) +{ + LogInfo("TestMissionStateTest::GetCapability\n"); + StatusCode code = GetCapabilityTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::GetCapability(param); + } + return code; +} +StatusCode TestMissionStateTest::GetLockVideoStatus(LockVideoStatus ¶m) +{ + LogInfo("TestMissionStateTest::GetLockVideoStatus\n"); + StatusCode code = GetLockVideoStatusTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::GetLockVideoStatus(param); + } + return code; +} +StatusCode TestMissionStateTest::GetStorageInfo(std::vector ¶m) +{ + LogInfo("TestMissionStateTest::GetStorageInfo\n"); + StatusCode code = GetStorageInfoTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::GetStorageInfo(param); + } + return code; +} +StatusCode TestMissionStateTest::GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) +{ + LogInfo("TestMissionStateTest::GetStorageFileList\n"); + StatusCode code = GetStorageFileListTrace(fileInfo, param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::GetStorageFileList(fileInfo, param); + } + return code; +} StatusCode TestMissionStateTest::SetDateTime(const AppSetDateTime ¶m) { LogInfo("TestMissionStateTest::SetDateTime\n"); @@ -84,6 +129,33 @@ StatusCode TestMissionStateTest::SetTimeZone(const unsigned int &zone) } return code; } +StatusCode TestMissionStateTest::SetParamValue(const AppSetParamValue ¶m) +{ + LogInfo("TestMissionStateTest::SetParamValue.\n"); + StatusCode code = SetParamValueTrace(param); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::SetParamValue(param); + } + return code; +} +StatusCode TestMissionStateTest::EnterRecorder(void) +{ + LogInfo("TestMissionStateTest::EnterRecorder.\n"); + StatusCode code = EnterRecorderTrace(); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::EnterRecorder(); + } + return code; +} +StatusCode TestMissionStateTest::AppPlayback(const PlayBackEvent &event) +{ + LogInfo("TestMissionStateTest::AppPlayback.\n"); + StatusCode code = AppPlaybackTrace(event); + if (StatusCodeEqual(code, "STATUS_CODE_VIRTUAL_FUNCTION")) { + return AppMonitor::AppPlayback(event); + } + return code; +} StatusCode TestMissionStateTest::UploadFile(AppUploadFile ¶m) { LogInfo("TestMissionStateTest::UploadFile\n"); diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.h b/test/application/MissionManager/tool/src/TestMissionStateMock.h index 1b27ff0..6b2049e 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.h +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.h @@ -27,19 +27,24 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; + StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetCapability(AppGetCapability ¶m) override; + StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; + StatusCode GetStorageInfo(std::vector ¶m) override; + StatusCode GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) override; StatusCode SetDateTime(const AppSetDateTime ¶m) override; StatusCode SetTimeZone(const unsigned int &zone) override; + StatusCode SetParamValue(const AppSetParamValue ¶m) override; + StatusCode EnterRecorder(void) override; + StatusCode AppPlayback(const PlayBackEvent &event) override; StatusCode UploadFile(AppUploadFile ¶m) override; - // const StatusCode SetAppMonitor(std::shared_ptr &monitor) override; protected: - // virtual const StatusCode SetAppMonitorTrace(std::shared_ptr &monitor); }; class TestMissionStateMock : public AppMonitorMock, public TestMissionStateTest { public: TestMissionStateMock() = default; virtual ~TestMissionStateMock() = default; - // MOCK_METHOD1(SetAppMonitorTrace, const StatusCode(std::shared_ptr &)); }; #endif \ No newline at end of file diff --git a/test/middleware/AppManager/tool/src/ServersMock.cpp b/test/middleware/AppManager/tool/src/ServersMock.cpp index a8cd93e..0de6e88 100644 --- a/test/middleware/AppManager/tool/src/ServersMock.cpp +++ b/test/middleware/AppManager/tool/src/ServersMock.cpp @@ -219,7 +219,7 @@ void ServersMock::MockGetStorageInfo(void) void ServersMock::MockGetStorageFileList(void) { LogInfo("APP_GET_FILE_LIST test start.\n"); - std::string mockRequest = mServerUrl + APP_GET_FILE_LIST; + std::string mockRequest = mServerUrl + APP_GET_FILE_LIST + "?folder=loop&start=0&end=99"; ServerHttp *http = NewServersHttp(mockRequest.c_str()); if (http) { HttpGet(http); @@ -270,7 +270,7 @@ void ServersMock::MockSetTimeZone(void) void ServersMock::MockSetParamValue(void) { LogInfo("APP_SET_PARAM_VALUE test start.\n"); - std::string mockRequest = mServerUrl + APP_SET_PARAM_VALUE + "?timezone=8"; + std::string mockRequest = mServerUrl + APP_SET_PARAM_VALUE + "?param=switchcam&value=1"; ServerHttp *http = NewServersHttp(mockRequest.c_str()); if (http) { HttpGet(http); @@ -287,7 +287,7 @@ void ServersMock::MockSetParamValue(void) void ServersMock::MockEnterRecorder(void) { LogInfo("APP_ENTER_RECORDER test start.\n"); - std::string mockRequest = mServerUrl + APP_ENTER_RECORDER + "?timezone=8"; + std::string mockRequest = mServerUrl + APP_ENTER_RECORDER + "?timezone=8"; // TODO: ServerHttp *http = NewServersHttp(mockRequest.c_str()); if (http) { HttpGet(http); @@ -304,7 +304,7 @@ void ServersMock::MockEnterRecorder(void) void ServersMock::MockAppPlayback(void) { LogInfo("APP_PLAYBACK test start.\n"); - std::string mockRequest = mServerUrl + APP_PLAYBACK + "?timezone=8"; + std::string mockRequest = mServerUrl + APP_PLAYBACK + "?param=enter"; ServerHttp *http = NewServersHttp(mockRequest.c_str()); if (http) { HttpGet(http); From 4780a46e8a5f43fc433cb240be339114b483bca8 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 25 Mar 2024 14:46:29 +0800 Subject: [PATCH 07/19] Improve:SixFrame protocol. --- application/MissionManager/src/AppMonitor.cpp | 2 +- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 67 ++++++++++++++++--- .../src/Protocol/SixFrame/SixFrameHandle.h | 3 +- .../src/Protocol/SixFrame/SixFrameMakePtr.cpp | 14 ++++ 4 files changed, 73 insertions(+), 13 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index 8771a11..ad7f424 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -91,7 +91,7 @@ StatusCode AppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::v AppGetFileList file; file.mCreateTime_s = 123456789; file.mDuration = 15; - file.mName = "/video/test.mp4"; + file.mName = "/DCIM/2024/01/15/20240115135444-20240115135504.mp4"; file.mSize = 1024; file.mType = StorageFileType::VIDEO; param.push_back(file); diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index e2dd5d2..997df0b 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -22,6 +22,7 @@ using std::placeholders::_3; // using std::placeholders::_4; // clang-format off const char *CJSON_INFO_STRING = "info"; +const char *CJSON_FILES_STRING = "files"; const char *APP_GET_PRODUCT_INFO = "/app/getproductinfo"; const char *APP_GET_DEVICE_ATTR = "/app/getdeviceattr"; const char *APP_GET_MEDIA_INFO = "/app/getmediainfo"; @@ -38,6 +39,8 @@ const char *APP_SET_PARAM_VALUE = "/app/setparamvalue"; const char *APP_ENTER_RECORDER = "/app/enterrecorder"; const char *APP_PLAYBACK = "/app/playback"; const char *APP_UPLOAD_FILE = "/upload"; +// /app/getparamvalue?param=rec +// /app/exitrecorder // clang-format on constexpr bool SET_REQUEST_RESPONSE = true; SixFrameHandle::SixFrameHandle() @@ -371,7 +374,7 @@ AppGetFileInfo inline SixFrameHandle::RequestGetFileListParse(const std::string std::dynamic_pointer_cast>(parse); if ("folder" == key) { if ("loop" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::END; + parseyImpl->mData.mEvent = StorageFileEvent::LOOP; } if ("emr" == value) { parseyImpl->mData.mEvent = StorageFileEvent::END; @@ -407,30 +410,57 @@ void SixFrameHandle::RequestGetFileList(const std::string &url, ResponseHandle r responseHandle("Device run out of memory.", context); return; } - ResponseGetFileList(result, param); + ResponseGetFileList(result, param, info); ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } -void inline SixFrameHandle::ResponseGetFileList(cJSON *result, const std::vector ¶m) +/** + * @brief +{ + "result": 0, + "info": [{ + "folder": "loop", + "count": 1, + "files": [{ + "name": "/DCIM/2024/01/15/20240115135444-20240115135504.mp4", + "duration": 15, + "size": 1024, + "createtime": 123456789, + "type": 0 + }] + }] +} + * @param result + * @param param + * @param fileInfo + */ +void inline SixFrameHandle::ResponseGetFileList(cJSON *result, const std::vector ¶m, + const AppGetFileInfo &fileInfo) { cJSON *info = cJSON_CreateArray(); - if (nullptr == info) { + cJSON *folder = cJSON_CreateObject(); + cJSON *files = cJSON_CreateArray(); + if (nullptr == info || nullptr == folder || nullptr == files) { LogError("cJSON_CreateArray failed.\n"); return; } cJSON_AddItemToObject(result, CJSON_INFO_STRING, info); - for (const auto &fileInfo : param) { + cJSON_AddItemToArray(info, folder); + for (const auto &fileList : param) { + cJSON_AddStringToObject(folder, "folder", PrintfFileEvent(fileInfo)); + cJSON_AddNumberToObject(folder, "count", param.size()); cJSON *file = nullptr; file = cJSON_CreateObject(); if (nullptr != file) { - cJSON_AddItemToArray(info, file); - cJSON_AddStringToObject(file, "name", fileInfo.mName.c_str()); - cJSON_AddNumberToObject(file, "duration", fileInfo.mDuration); - cJSON_AddNumberToObject(file, "size", fileInfo.mSize); - cJSON_AddNumberToObject(file, "createtime", fileInfo.mCreateTime_s); - cJSON_AddNumberToObject(file, "type", static_cast(fileInfo.mType)); + cJSON_AddItemToArray(files, file); + cJSON_AddStringToObject(file, "name", fileList.mName.c_str()); + cJSON_AddNumberToObject(file, "duration", fileList.mDuration); + cJSON_AddNumberToObject(file, "size", fileList.mSize); + cJSON_AddNumberToObject(file, "createtime", fileList.mCreateTime_s); + cJSON_AddNumberToObject(file, "type", static_cast(fileList.mType)); } } + cJSON_AddItemToObject(folder, CJSON_FILES_STRING, files); } AppSetDateTime inline SixFrameHandle::RequestSetDateTimeParse(const std::string &url) { @@ -640,6 +670,21 @@ void SixFrameHandle::ResponseJsonString(cJSON *json, ResponseHandle responseHand responseHandle("Device run out of memory.", context); } } +const char *SixFrameHandle::PrintfFileEvent(const AppGetFileInfo &fileInfo) +{ + switch (fileInfo.mEvent) { + case StorageFileEvent::LOOP: { + return "loop"; + break; + } + + default: { + LogWarning("Unknown event.\n"); + break; + } + } + return "unknown event"; +} void SixFrameHandle::SetAppMonitor(std::shared_ptr &monitor) { if (monitor) { diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 914a5ec..014fa39 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -78,7 +78,7 @@ private: void ResponseGetStorageInfo(cJSON *result, const std::vector ¶m); AppGetFileInfo RequestGetFileListParse(const std::string &url); void RequestGetFileList(const std::string &url, ResponseHandle responseHandle, void *context); - void ResponseGetFileList(cJSON *result, const std::vector ¶m); + void ResponseGetFileList(cJSON *result, const std::vector ¶m, const AppGetFileInfo &fileInfo); AppSetDateTime RequestSetDateTimeParse(const std::string &url); void RequestSetDateTime(const std::string &url, ResponseHandle responseHandle, void *context); int RequestSetTimeZoneParse(const std::string &url); @@ -93,6 +93,7 @@ private: private: cJSON *MakeResponseResult(const ResposeResult result, const bool requestSet = false); void ResponseJsonString(cJSON *json, ResponseHandle responseHandle, void *context); + const char *PrintfFileEvent(const AppGetFileInfo &fileInfo); protected: void SetAppMonitor(std::shared_ptr &monitor) override; diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameMakePtr.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameMakePtr.cpp index 2149cef..b64e824 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameMakePtr.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameMakePtr.cpp @@ -1,3 +1,17 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ #include "SixFrameMakePtr.h" #include "ILog.h" #include "SixFrameHandle.h" From ddb61c4b91d76d9a69ea871072d89568693482b1 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 25 Mar 2024 18:28:52 +0800 Subject: [PATCH 08/19] Improve:goahead show picture. --- build/cmake/toolchain/linux.toolchain.cmake | 3 +- .../AppManager/src/AppManager_Test.cpp | 2 + utils/WebServer/src/WebServer.cpp | 59 ++++++++++++++++++- 3 files changed, 61 insertions(+), 3 deletions(-) diff --git a/build/cmake/toolchain/linux.toolchain.cmake b/build/cmake/toolchain/linux.toolchain.cmake index 7551d77..2f4a174 100755 --- a/build/cmake/toolchain/linux.toolchain.cmake +++ b/build/cmake/toolchain/linux.toolchain.cmake @@ -68,6 +68,7 @@ set(CURL_SHARED_LIBS_PATH "/mnt/mmc") # ------------ build curl + openssl ------------ end # ------------ build AppManager ------------ # -set(APP_MANAGER_HTTP_SERVER_IP "localhost") +# set(APP_MANAGER_HTTP_SERVER_IP "localhost") +set(APP_MANAGER_HTTP_SERVER_IP "192.168.1.29") set(APP_MANAGER_HTTP_SERVER_PORT "8080") # ------------ build AppManager end ------------ # \ No newline at end of file diff --git a/test/middleware/AppManager/src/AppManager_Test.cpp b/test/middleware/AppManager/src/AppManager_Test.cpp index de3da5b..1b40eb5 100644 --- a/test/middleware/AppManager/src/AppManager_Test.cpp +++ b/test/middleware/AppManager/src/AppManager_Test.cpp @@ -53,7 +53,9 @@ protected: // ../output_files/test/bin/AppManagerTest --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_Demo0 TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_Demo0) { + std::shared_ptr monitor = AppManagerTestTool::MakeMonitorMock(); IAppManager::GetInstance()->Init(mAppParam); + IAppManager::GetInstance()->SetAppMonitor(monitor); std::this_thread::sleep_for(std::chrono::milliseconds(100)); std::this_thread::sleep_for(std::chrono::milliseconds(2000)); IAppManager::GetInstance()->UnInit(); diff --git a/utils/WebServer/src/WebServer.cpp b/utils/WebServer/src/WebServer.cpp index 2ed7a5c..8248a27 100644 --- a/utils/WebServer/src/WebServer.cpp +++ b/utils/WebServer/src/WebServer.cpp @@ -19,6 +19,7 @@ #include static int finished = 0; static HttpHandleCallback gHttpHandle = NULL; +constexpr int UNKNOWN_LENGTH = -1; static void sigHandler(int signo) { LogInfo("Stop goahead web server.\n"); @@ -87,7 +88,7 @@ static void response_handle(const char *responseStr, void *context) static bool AppRequestHandle(Webs *wp) { websSetStatus(wp, 200); - websWriteHeaders(wp, -1, 0); + websWriteHeaders(wp, UNKNOWN_LENGTH, 0); websWriteHeader(wp, "Content-Type", "text/plain"); websWriteEndHeaders(wp); gHttpHandle(wp->url, 0, response_handle, wp); @@ -101,7 +102,7 @@ static bool AppUploadHandle(Webs *wp) char *upfile = nullptr; websSetStatus(wp, 200); - websWriteHeaders(wp, -1, 0); + websWriteHeaders(wp, UNKNOWN_LENGTH, 0); websWriteHeader(wp, "Content-Type", "text/plain"); websWriteEndHeaders(wp); @@ -126,6 +127,58 @@ static bool AppUploadHandle(Webs *wp) websDone(wp); return 1; } +static bool AppGetThumbnail(Webs *wp) +{ + LogInfo("sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss\n"); + websSetStatus(wp, 200); + websWriteHeaders(wp, UNKNOWN_LENGTH, 0); + websWriteHeader(wp, "Content-Type", "image/jpeg"); + websWriteEndHeaders(wp); + // gHttpHandle(wp->url, 0, response_handle, wp); + // websWrite(wp, "ssssssssssssssssssssssssss"); + + char imagePath[] = "./34a396526922a33e97906920dbfef2a5.jpg"; + FILE *file = nullptr; + unsigned char *buffer = nullptr; + size_t bytesRead = 0; + long int fsize = 0; + /* 打开图片文件 */ + file = fopen(imagePath, "rb"); + if (file == nullptr) { + /* 文件打开失败,返回 404 错误 */ + LogError("Open picture failed.\n"); + goto END; + } + // 获取文件大小 + fseek(file, 0, SEEK_END); + fsize = ftell(file); + rewind(file); + // 分配足够大的缓冲区来存储文件内容 + buffer = (unsigned char *)malloc(fsize + 1); + if (!buffer) { + LogError("malloc failed.\n"); + fclose(file); + goto END; + } + memset(buffer, 0, fsize + 1); + // 读取文件内容到缓冲区 + bytesRead = fread(buffer, 1, fsize, file); + if (bytesRead != fsize) { + LogError("fread picture failed.\n"); + free(buffer); + fclose(file); + goto END; + } + // websWrite(wp, "%s", buffer); + websWriteBlock(wp, (cchar *)buffer, fsize); + +END: + if (buffer) { + free(buffer); + } + websDone(wp); + return 1; +} StatusCode WebServerInit(const WebServerParam webParam) { CheckUploadDir(); @@ -161,6 +214,8 @@ StatusCode WebServerInit(const WebServerParam webParam) websDefineHandler("AppUploadHandle", 0, AppUploadHandle, 0, 0); websAddRoute("/upload", "AppUploadHandle", 0); } + websDefineHandler("AppGetThumbnail", 0, AppGetThumbnail, 0, 0); + websAddRoute("/app/getthumbnail", "AppGetThumbnail", 0); websServiceEvents(&finished); logmsg(1, "Instructed to exit\n"); websClose(); From 7d706cc8229f83e2f3be5b09ce504ff5134e6609 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 25 Mar 2024 19:35:48 +0800 Subject: [PATCH 09/19] Improve:SixFrame protocol. --- middleware/AppManager/include/IAppManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index 1a99c12..2d562db 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -70,8 +70,8 @@ enum class PlayBackEvent }; enum class StorageFileType { - VIDEO = 0, - PICTURE, + PICTURE = 1, + VIDEO, END }; enum class StorageFileEvent From 936fc127daae0db96b5a0ac039404bc98e3e5250 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Mon, 25 Mar 2024 21:28:51 +0800 Subject: [PATCH 10/19] Improve:SixFrame protocol. --- application/MissionManager/src/AppMonitor.cpp | 28 ++++-- application/MissionManager/src/AppMonitor.h | 1 + middleware/AppManager/include/IAppManager.h | 10 +++ middleware/AppManager/src/IAppManager.cpp | 1 + .../src/Protocol/SixFrame/SixFrameHandle.cpp | 30 ++++++- .../src/Protocol/SixFrame/SixFrameHandle.h | 2 + .../AppManager/src/AppManager_Test.cpp | 2 +- utils/WebServer/src/WebServer.cpp | 88 +++++++++---------- 8 files changed, 104 insertions(+), 58 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index ad7f424..7bda4a8 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -88,13 +88,22 @@ StatusCode AppMonitor::GetStorageInfo(std::vector ¶m) } StatusCode AppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::vector ¶m) { - AppGetFileList file; - file.mCreateTime_s = 123456789; - file.mDuration = 15; - file.mName = "/DCIM/2024/01/15/20240115135444-20240115135504.mp4"; - file.mSize = 1024; - file.mType = StorageFileType::VIDEO; - param.push_back(file); + if (StorageFileEvent::LOOP == fileInfo.mEvent) { + AppGetFileList file; + file.mCreateTime_s = 123456789; + file.mDuration = 15; + file.mName = "/DCIM/2024/01/15/20240115135521-20240115135540.mp4"; + file.mSize = 1024; + file.mType = StorageFileType::VIDEO; + param.push_back(file); + AppGetFileList file2; + file2.mCreateTime_s = 123456789; + file2.mDuration = 0; + file2.mName = "/34a396526922a33e97906920dbfef2a5.jpg"; + file2.mSize = 1024; + file2.mType = StorageFileType::PICTURE; + param.push_back(file2); + } return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::SetDateTime(const AppSetDateTime ¶m) @@ -114,4 +123,9 @@ StatusCode AppMonitor::UploadFile(AppUploadFile ¶m) { // return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::GetThumbnail(AppGetThumbnail ¶m) +{ + param.mThumbnail = "./34a396526922a33e97906920dbfef2a5.jpg"; + return CreateStatusCode(STATUS_CODE_OK); } \ No newline at end of file diff --git a/application/MissionManager/src/AppMonitor.h b/application/MissionManager/src/AppMonitor.h index 1c43980..8255930 100644 --- a/application/MissionManager/src/AppMonitor.h +++ b/application/MissionManager/src/AppMonitor.h @@ -36,5 +36,6 @@ public: StatusCode EnterRecorder(void) override; StatusCode AppPlayback(const PlayBackEvent &event) override; StatusCode UploadFile(AppUploadFile ¶m) override; + StatusCode GetThumbnail(AppGetThumbnail ¶m) override; }; #endif \ No newline at end of file diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index 2d562db..f6eb8fc 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -79,6 +79,9 @@ enum class StorageFileEvent LOOP = 0, PIR, CRASH, + EMR, + EVENT, + PARK, END }; enum class MicStatus @@ -301,6 +304,12 @@ typedef struct app_upload_file const UploadCommand mCommand; ResposeResult mResult; } AppUploadFile; +typedef struct app_get_thumbnail +{ + app_get_thumbnail(const std::string file) : mFile(file) {} + const std::string mFile; + std::string mThumbnail; +} AppGetThumbnail; class VAppMonitor { public: @@ -322,6 +331,7 @@ public: virtual StatusCode EnterRecorder(void); virtual StatusCode AppPlayback(const PlayBackEvent &event); virtual StatusCode UploadFile(AppUploadFile ¶m); + virtual StatusCode GetThumbnail(AppGetThumbnail ¶m); }; typedef struct app_param { diff --git a/middleware/AppManager/src/IAppManager.cpp b/middleware/AppManager/src/IAppManager.cpp index 8ad80ef..fe511ba 100644 --- a/middleware/AppManager/src/IAppManager.cpp +++ b/middleware/AppManager/src/IAppManager.cpp @@ -66,6 +66,7 @@ StatusCode VAppMonitor::AppPlayback(const PlayBackEvent &event) return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } StatusCode VAppMonitor::UploadFile(AppUploadFile ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::GetThumbnail(AppGetThumbnail ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } std::shared_ptr &IAppManager::GetInstance(std::shared_ptr *impl) { static auto instance = std::make_shared(); diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 997df0b..51715fe 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -39,6 +39,7 @@ const char *APP_SET_PARAM_VALUE = "/app/setparamvalue"; const char *APP_ENTER_RECORDER = "/app/enterrecorder"; const char *APP_PLAYBACK = "/app/playback"; const char *APP_UPLOAD_FILE = "/upload"; +const char *APP_GET_THUMBNAIL = "/app/getthumbnail"; // /app/getparamvalue?param=rec // /app/exitrecorder // clang-format on @@ -63,6 +64,7 @@ SixFrameHandle::SixFrameHandle() mResquesHandleFunc[APP_ENTER_RECORDER] = std::bind(&SixFrameHandle::RequestEnterRecorder, this, _1, _2, _3); mResquesHandleFunc[APP_PLAYBACK] = std::bind(&SixFrameHandle::RequestPlayback, this, _1, _2, _3); mResquesHandleFunc[APP_UPLOAD_FILE] = std::bind(&SixFrameHandle::RequestUpload, this, _1, _2, _3); + mResquesHandleFunc[APP_GET_THUMBNAIL] = std::bind(&SixFrameHandle::RequestGetThumbnail, this, _1, _2, _3); // mResquesHandleFunc["favicon.ico"] = std::bind(&SixFrameHandle::DoNothing, this, _1, _2, _); } void SixFrameHandle::RequestHandle(const char *url, const unsigned int urlLength, ResponseHandle responseHandle, @@ -377,13 +379,13 @@ AppGetFileInfo inline SixFrameHandle::RequestGetFileListParse(const std::string parseyImpl->mData.mEvent = StorageFileEvent::LOOP; } if ("emr" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::END; + parseyImpl->mData.mEvent = StorageFileEvent::EMR; } if ("event" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::END; + parseyImpl->mData.mEvent = StorageFileEvent::EVENT; } if ("park" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::END; + parseyImpl->mData.mEvent = StorageFileEvent::PARK; } } if ("start" == key) { @@ -636,6 +638,28 @@ void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle respon ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } +std::string inline SixFrameHandle::RequestGetThumbnailParse(const std::string &url) +{ + auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { + std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + if ("file" == key) { + parseyImpl->mData = value; + } + }; + std::shared_ptr parse = std::make_shared>(); + std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + ExtractParamsFromUrl(url, parseFunc, parse); + return parseyImpl->mData; +} +void SixFrameHandle::RequestGetThumbnail(const std::string &url, ResponseHandle responseHandle, void *context) +{ + LogInfo("RequestGetThumbnail.\n"); + const std::string file = RequestGetThumbnailParse(url); + AppGetThumbnail respon(file); + mAppMonitor->GetThumbnail(respon); + // respon.mThumbnail = "./34a396526922a33e97906920dbfef2a5.jpg"; + responseHandle(respon.mThumbnail.c_str(), context); +} cJSON *SixFrameHandle::MakeResponseResult(const ResposeResult result, const bool requestSet) { const char *RESPONSE_RESULT = "result"; diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 014fa39..6e4c410 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -89,6 +89,8 @@ private: void RequestPlayback(const std::string &url, ResponseHandle responseHandle, void *context); void RequestEnterRecorder(const std::string &url, ResponseHandle responseHandle, void *context); void RequestUpload(const std::string &url, ResponseHandle responseHandle, void *context); + std::string RequestGetThumbnailParse(const std::string &url); + void RequestGetThumbnail(const std::string &url, ResponseHandle responseHandle, void *context); private: cJSON *MakeResponseResult(const ResposeResult result, const bool requestSet = false); diff --git a/test/middleware/AppManager/src/AppManager_Test.cpp b/test/middleware/AppManager/src/AppManager_Test.cpp index 1b40eb5..78470d9 100644 --- a/test/middleware/AppManager/src/AppManager_Test.cpp +++ b/test/middleware/AppManager/src/AppManager_Test.cpp @@ -57,7 +57,7 @@ TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_Demo0) IAppManager::GetInstance()->Init(mAppParam); IAppManager::GetInstance()->SetAppMonitor(monitor); std::this_thread::sleep_for(std::chrono::milliseconds(100)); - std::this_thread::sleep_for(std::chrono::milliseconds(2000)); + std::this_thread::sleep_for(std::chrono::milliseconds(20000)); IAppManager::GetInstance()->UnInit(); } // ../output_files/test/bin/AppManagerTest --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_Demo diff --git a/utils/WebServer/src/WebServer.cpp b/utils/WebServer/src/WebServer.cpp index 8248a27..130950a 100644 --- a/utils/WebServer/src/WebServer.cpp +++ b/utils/WebServer/src/WebServer.cpp @@ -85,6 +85,43 @@ static void response_handle(const char *responseStr, void *context) websWrite(wp, "%s", responseStr); } } +static void get_thumbnail_handle(const char *thumbnailUrl, void *context) +{ + struct Webs *wp = (struct Webs *)context; + if (nullptr == thumbnailUrl) { + LogError("thumbnailUrl is nullptr.\n"); + return; + } + FILE *file = nullptr; + unsigned char *buffer = nullptr; + size_t bytesRead = 0; + long int fsize = 0; + file = fopen(thumbnailUrl, "rb"); + if (file == nullptr) { + LogError("Open picture failed[%s].\n", thumbnailUrl); + goto END; + } + fseek(file, 0, SEEK_END); + fsize = ftell(file); + rewind(file); + buffer = (unsigned char *)malloc(fsize); + if (!buffer) { + LogError("malloc failed.\n"); + goto END; + } + + while ((bytesRead = fread(buffer, 1, sizeof(buffer), file)) > 0) { + websWriteBlock(wp, (cchar *)buffer, bytesRead); + } + +END: + if (buffer) { + free(buffer); + } + if (file) { + fclose(file); + } +} static bool AppRequestHandle(Webs *wp) { websSetStatus(wp, 200); @@ -129,53 +166,12 @@ static bool AppUploadHandle(Webs *wp) } static bool AppGetThumbnail(Webs *wp) { - LogInfo("sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss\n"); + LogInfo("AppGetThumbnail url = %s\n", wp->url); websSetStatus(wp, 200); websWriteHeaders(wp, UNKNOWN_LENGTH, 0); websWriteHeader(wp, "Content-Type", "image/jpeg"); websWriteEndHeaders(wp); - // gHttpHandle(wp->url, 0, response_handle, wp); - // websWrite(wp, "ssssssssssssssssssssssssss"); - - char imagePath[] = "./34a396526922a33e97906920dbfef2a5.jpg"; - FILE *file = nullptr; - unsigned char *buffer = nullptr; - size_t bytesRead = 0; - long int fsize = 0; - /* 打开图片文件 */ - file = fopen(imagePath, "rb"); - if (file == nullptr) { - /* 文件打开失败,返回 404 错误 */ - LogError("Open picture failed.\n"); - goto END; - } - // 获取文件大小 - fseek(file, 0, SEEK_END); - fsize = ftell(file); - rewind(file); - // 分配足够大的缓冲区来存储文件内容 - buffer = (unsigned char *)malloc(fsize + 1); - if (!buffer) { - LogError("malloc failed.\n"); - fclose(file); - goto END; - } - memset(buffer, 0, fsize + 1); - // 读取文件内容到缓冲区 - bytesRead = fread(buffer, 1, fsize, file); - if (bytesRead != fsize) { - LogError("fread picture failed.\n"); - free(buffer); - fclose(file); - goto END; - } - // websWrite(wp, "%s", buffer); - websWriteBlock(wp, (cchar *)buffer, fsize); - -END: - if (buffer) { - free(buffer); - } + gHttpHandle(wp->url, 0, get_thumbnail_handle, wp); websDone(wp); return 1; } @@ -209,13 +205,11 @@ StatusCode WebServerInit(const WebServerParam webParam) gHttpHandle = webParam.mHttpRequestHandle; websDefineHandler("appRequestHandle", 0, AppRequestHandle, 0, 0); websAddRoute("/app", "appRequestHandle", 0); - } - if (nullptr != webParam.mHttpRequestHandle) { websDefineHandler("AppUploadHandle", 0, AppUploadHandle, 0, 0); websAddRoute("/upload", "AppUploadHandle", 0); + websDefineHandler("AppGetThumbnail", 0, AppGetThumbnail, 0, 0); + websAddRoute("/app/getthumbnail", "AppGetThumbnail", 0); } - websDefineHandler("AppGetThumbnail", 0, AppGetThumbnail, 0, 0); - websAddRoute("/app/getthumbnail", "AppGetThumbnail", 0); websServiceEvents(&finished); logmsg(1, "Instructed to exit\n"); websClose(); From f85f6fb4f54cdd61c4a247e37b340baea3649903 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 09:20:30 +0800 Subject: [PATCH 11/19] Backup. --- application/MissionManager/src/AppMonitor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index 7bda4a8..07efd8e 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -67,7 +67,7 @@ StatusCode AppMonitor::GetParamValue(AppGetParamValue ¶m) } StatusCode AppMonitor::GetCapability(AppGetCapability ¶m) { - // + param.mPlaybackType = PlaybackType::DOWNLOAD_PLAYBACK; return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::GetLockVideoStatus(LockVideoStatus ¶m) @@ -92,7 +92,7 @@ StatusCode AppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::v AppGetFileList file; file.mCreateTime_s = 123456789; file.mDuration = 15; - file.mName = "/DCIM/2024/01/15/20240115135521-20240115135540.mp4"; + file.mName = "/DCIM/2024/01/15/20240115140207-20240115140509.mp4"; file.mSize = 1024; file.mType = StorageFileType::VIDEO; param.push_back(file); From 7ecc3a58b33feba10cbc56980b0f778c75994640 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 09:21:37 +0800 Subject: [PATCH 12/19] Backup. --- application/MissionManager/src/AppMonitor.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index 7bda4a8..c25338a 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -91,9 +91,9 @@ StatusCode AppMonitor::GetStorageFileList(const AppGetFileInfo &fileInfo, std::v if (StorageFileEvent::LOOP == fileInfo.mEvent) { AppGetFileList file; file.mCreateTime_s = 123456789; - file.mDuration = 15; + file.mDuration = 182; file.mName = "/DCIM/2024/01/15/20240115135521-20240115135540.mp4"; - file.mSize = 1024; + file.mSize = 1024 * 182; file.mType = StorageFileType::VIDEO; param.push_back(file); AppGetFileList file2; From 29568683449474f5da682bdef05ebdb876757142 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 11:22:28 +0800 Subject: [PATCH 13/19] Improve:SixFrame protocol. --- application/MissionManager/src/AppMonitor.cpp | 5 +- application/MissionManager/src/AppMonitor.h | 2 +- middleware/AppManager/include/IAppManager.h | 15 ++- middleware/AppManager/src/IAppManager.cpp | 5 +- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 116 +++++++++++------- .../src/Protocol/SixFrame/SixFrameHandle.h | 3 +- .../tool/src/TestMissionStateMock.cpp | 2 +- .../tool/src/TestMissionStateMock.h | 2 +- .../AppManager/src/AppManager_Test.cpp | 2 +- .../AppManager/tool/src/AppMonitorMock.cpp | 4 +- .../AppManager/tool/src/AppMonitorMock.h | 6 +- 11 files changed, 94 insertions(+), 68 deletions(-) diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index e13d903..aceb456 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -60,9 +60,10 @@ StatusCode AppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) param.mChargeStatus = ChargeStatus::CHARGING; return CreateStatusCode(STATUS_CODE_OK); } -StatusCode AppMonitor::GetParamValue(AppGetParamValue ¶m) +StatusCode AppMonitor::GetParamValue(AppParamValue ¶m) { - param.mMicStatus = MicStatus::ON; + param.mMicStatus = SwitchStatus::ON; + param.mRec = SwitchStatus::OFF; return CreateStatusCode(STATUS_CODE_OK); } StatusCode AppMonitor::GetCapability(AppGetCapability ¶m) diff --git a/application/MissionManager/src/AppMonitor.h b/application/MissionManager/src/AppMonitor.h index 8255930..da32f03 100644 --- a/application/MissionManager/src/AppMonitor.h +++ b/application/MissionManager/src/AppMonitor.h @@ -25,7 +25,7 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetParamValue(AppParamValue ¶m) override; StatusCode GetCapability(AppGetCapability ¶m) override; StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; StatusCode GetStorageInfo(std::vector ¶m) override; diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index f6eb8fc..24c31ba 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -84,7 +84,7 @@ enum class StorageFileEvent PARK, END }; -enum class MicStatus +enum class SwitchStatus { OFF = 0, ON, @@ -203,9 +203,14 @@ typedef struct app_get_battery_info } AppGetBatteryInfo; typedef struct app_get_param_value { - app_get_param_value() { mMicStatus = MicStatus::END; } - MicStatus mMicStatus; -} AppGetParamValue; + app_get_param_value() + { + mRec = SwitchStatus::END; + mMicStatus = SwitchStatus::END; + } + SwitchStatus mMicStatus; + SwitchStatus mRec; +} AppParamValue; typedef struct app_get_capability { app_get_capability() @@ -320,7 +325,7 @@ public: virtual StatusCode GetMediaInfo(AppGetMeidaInfo ¶m); virtual StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m); virtual StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m); - virtual StatusCode GetParamValue(AppGetParamValue ¶m); + virtual StatusCode GetParamValue(AppParamValue ¶m); virtual StatusCode GetCapability(AppGetCapability ¶m); virtual StatusCode GetLockVideoStatus(LockVideoStatus ¶m); virtual StatusCode GetStorageInfo(std::vector ¶m); diff --git a/middleware/AppManager/src/IAppManager.cpp b/middleware/AppManager/src/IAppManager.cpp index fe511ba..ecdbeed 100644 --- a/middleware/AppManager/src/IAppManager.cpp +++ b/middleware/AppManager/src/IAppManager.cpp @@ -31,10 +31,7 @@ StatusCode VAppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::GetParamValue(AppGetParamValue ¶m) -{ - return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); -} +StatusCode VAppMonitor::GetParamValue(AppParamValue ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } StatusCode VAppMonitor::GetCapability(AppGetCapability ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 51715fe..232ab0a 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -250,22 +250,38 @@ void inline SixFrameHandle::ResponseGetBatteryInfo(cJSON *result, const AppGetBa cJSON_AddNumberToObject(info, "charge", static_cast(param.mChargeStatus)); cJSON_AddNumberToObject(info, "capacity", param.mCapacity); } +AppParamValue inline SixFrameHandle::RequestParamValueParse(const std::string &url) +{ + auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); + if ("param" == key) { + if ("rec" == value) { + parseImpl->mData.mRec = SwitchStatus::ON; // means app want to get mRec value. + } + } + }; + std::shared_ptr parse = std::make_shared>(); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); + ExtractParamsFromUrl(url, parseFunc, parse); + return parseImpl->mData; +} void SixFrameHandle::RequestGetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetParamValue.\n"); - AppGetParamValue param; - mAppMonitor->GetParamValue(param); + // AppParamValue appGetValue = RequestParamValueParse(url); // TODO: + AppParamValue paramDevice; + mAppMonitor->GetParamValue(paramDevice); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); if (nullptr == result) { LogError("MakeResponseResult failed.\n"); responseHandle("Device run out of memory.", context); return; } - ResponseGetParamValue(result, param); + ResponseGetParamValue(result, paramDevice); ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } -void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m) +void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppParamValue ¶m) { cJSON *info = cJSON_CreateArray(); if (nullptr == info) { @@ -279,6 +295,12 @@ void inline SixFrameHandle::ResponseGetParamValue(cJSON *result, const AppGetPar cJSON_AddStringToObject(mic, "name", "mic"); cJSON_AddNumberToObject(mic, "value", static_cast(param.mMicStatus)); } + cJSON *rec = cJSON_CreateObject(); + if (nullptr != rec) { + cJSON_AddItemToArray(info, rec); + cJSON_AddStringToObject(rec, "name", "rec"); + cJSON_AddNumberToObject(rec, "value", static_cast(param.mRec)); + } } void SixFrameHandle::RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -372,33 +394,33 @@ void inline SixFrameHandle::ResponseGetStorageInfo(cJSON *result, const std::vec AppGetFileInfo inline SixFrameHandle::RequestGetFileListParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("folder" == key) { if ("loop" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::LOOP; + parseImpl->mData.mEvent = StorageFileEvent::LOOP; } if ("emr" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::EMR; + parseImpl->mData.mEvent = StorageFileEvent::EMR; } if ("event" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::EVENT; + parseImpl->mData.mEvent = StorageFileEvent::EVENT; } if ("park" == value) { - parseyImpl->mData.mEvent = StorageFileEvent::PARK; + parseImpl->mData.mEvent = StorageFileEvent::PARK; } } if ("start" == key) { - parseyImpl->mData.mStartIndex = std::stoi(value); + parseImpl->mData.mStartIndex = std::stoi(value); } if ("end" == key) { - parseyImpl->mData.mStopIndex = std::stoi(value); + parseImpl->mData.mStopIndex = std::stoi(value); } }; std::shared_ptr parse = std::make_shared>(); - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); ExtractParamsFromUrl(url, parseFunc, parse); - return parseyImpl->mData; + return parseImpl->mData; } void SixFrameHandle::RequestGetFileList(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -467,24 +489,24 @@ void inline SixFrameHandle::ResponseGetFileList(cJSON *result, const std::vector AppSetDateTime inline SixFrameHandle::RequestSetDateTimeParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("date" == key) { - parseyImpl->mData = value; + parseImpl->mData = value; } }; std::shared_ptr parse = std::make_shared>(); ExtractParamsFromUrl(url, parseFunc, parse); - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); - if (14 != parseyImpl->mData.length()) { + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); + if (14 != parseImpl->mData.length()) { LogError("date parse failed.\n"); return AppSetDateTime(0, 0, 0, 0, 0, 0); } - std::string yearStr = parseyImpl->mData.substr(0, 4); - std::string monthStr = parseyImpl->mData.substr(4, 2); - std::string dayStr = parseyImpl->mData.substr(6, 2); - std::string hourStr = parseyImpl->mData.substr(8, 2); - std::string minuteStr = parseyImpl->mData.substr(10, 2); - std::string secondStr = parseyImpl->mData.substr(12, 2); + std::string yearStr = parseImpl->mData.substr(0, 4); + std::string monthStr = parseImpl->mData.substr(4, 2); + std::string dayStr = parseImpl->mData.substr(6, 2); + std::string hourStr = parseImpl->mData.substr(8, 2); + std::string minuteStr = parseImpl->mData.substr(10, 2); + std::string secondStr = parseImpl->mData.substr(12, 2); unsigned int year = std::stoi(yearStr); unsigned int month = std::stoi(monthStr); unsigned int day = std::stoi(dayStr); @@ -510,19 +532,19 @@ void SixFrameHandle::RequestSetDateTime(const std::string &url, ResponseHandle r int inline SixFrameHandle::RequestSetTimeZoneParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("timezone" == key) { - parseyImpl->mData = value; + parseImpl->mData = value; } }; std::shared_ptr parse = std::make_shared>(); ExtractParamsFromUrl(url, parseFunc, parse); - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); - if (2 <= parseyImpl->mData.length()) { + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); + if (2 <= parseImpl->mData.length()) { LogError("date parse failed.\n"); return 0; } - int zone = std::stoi(parseyImpl->mData); + int zone = std::stoi(parseImpl->mData); return zone; } void SixFrameHandle::RequestSetTimeZone(const std::string &url, ResponseHandle responseHandle, void *context) @@ -542,27 +564,27 @@ void SixFrameHandle::RequestSetTimeZone(const std::string &url, ResponseHandle r AppSetParamValue inline SixFrameHandle::RequestSetParamValueParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("switchcam" == key) { - parseyImpl->mData.mName = "switchcam"; - parseyImpl->mData.mValue = std::stoi(value); + parseImpl->mData.mName = "switchcam"; + parseImpl->mData.mValue = std::stoi(value); } if ("rec" == key) { - parseyImpl->mData.mName = "rec"; - parseyImpl->mData.mValue = std::stoi(value); + parseImpl->mData.mName = "rec"; + parseImpl->mData.mValue = std::stoi(value); } if ("mic" == key) { - parseyImpl->mData.mName = "mic"; - parseyImpl->mData.mValue = std::stoi(value); + parseImpl->mData.mName = "mic"; + parseImpl->mData.mValue = std::stoi(value); } }; AppSetParamValue value; std::shared_ptr parse = std::make_shared>(); ExtractParamsFromUrl(url, parseFunc, parse); - std::shared_ptr> parseyImpl = + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); - return parseyImpl->mData; + return parseImpl->mData; } void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -581,21 +603,21 @@ void SixFrameHandle::RequestSetParamValue(const std::string &url, ResponseHandle PlayBackEvent inline SixFrameHandle::RequestPlaybackParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("param" == key) { if ("enter" == value) { - parseyImpl->mData = PlayBackEvent::START; + parseImpl->mData = PlayBackEvent::START; } if ("exit" == value) { - parseyImpl->mData = PlayBackEvent::STOP; + parseImpl->mData = PlayBackEvent::STOP; } } }; std::shared_ptr parse = std::make_shared>(); - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); - parseyImpl->mData = PlayBackEvent::END; + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); + parseImpl->mData = PlayBackEvent::END; ExtractParamsFromUrl(url, parseFunc, parse); - return parseyImpl->mData; + return parseImpl->mData; } void SixFrameHandle::RequestPlayback(const std::string &url, ResponseHandle responseHandle, void *context) { @@ -641,15 +663,15 @@ void SixFrameHandle::RequestUpload(const std::string &url, ResponseHandle respon std::string inline SixFrameHandle::RequestGetThumbnailParse(const std::string &url) { auto parseFunc = [](const std::string &key, const std::string &value, std::shared_ptr &parse) { - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); if ("file" == key) { - parseyImpl->mData = value; + parseImpl->mData = value; } }; std::shared_ptr parse = std::make_shared>(); - std::shared_ptr> parseyImpl = std::dynamic_pointer_cast>(parse); + std::shared_ptr> parseImpl = std::dynamic_pointer_cast>(parse); ExtractParamsFromUrl(url, parseFunc, parse); - return parseyImpl->mData; + return parseImpl->mData; } void SixFrameHandle::RequestGetThumbnail(const std::string &url, ResponseHandle responseHandle, void *context) { diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 6e4c410..04b479a 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -68,8 +68,9 @@ private: void ResponseGetSdCardInfo(cJSON *result, const AppGetSdCardInfo ¶m); void RequestGetBatteryInfo(const std::string &url, ResponseHandle responseHandle, void *context); void ResponseGetBatteryInfo(cJSON *result, const AppGetBatteryInfo ¶m); + AppParamValue RequestParamValueParse(const std::string &url); void RequestGetParamValue(const std::string &url, ResponseHandle responseHandle, void *context); - void ResponseGetParamValue(cJSON *result, const AppGetParamValue ¶m); + void ResponseGetParamValue(cJSON *result, const AppParamValue ¶m); void RequestGetCapability(const std::string &url, ResponseHandle responseHandle, void *context); void ResponseGetCapability(cJSON *result, const AppGetCapability ¶m); void RequestGetLockVideoStatus(const std::string &url, ResponseHandle responseHandle, void *context); diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp index aa3a599..8f984a7 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.cpp +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.cpp @@ -60,7 +60,7 @@ StatusCode TestMissionStateTest::GetBatteryInfo(AppGetBatteryInfo ¶m) } return code; } -StatusCode TestMissionStateTest::GetParamValue(AppGetParamValue ¶m) +StatusCode TestMissionStateTest::GetParamValue(AppParamValue ¶m) { LogInfo("TestMissionStateTest::GetParamValue\n"); StatusCode code = GetParamValueTrace(param); diff --git a/test/application/MissionManager/tool/src/TestMissionStateMock.h b/test/application/MissionManager/tool/src/TestMissionStateMock.h index 6b2049e..69a3388 100644 --- a/test/application/MissionManager/tool/src/TestMissionStateMock.h +++ b/test/application/MissionManager/tool/src/TestMissionStateMock.h @@ -27,7 +27,7 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetParamValue(AppParamValue ¶m) override; StatusCode GetCapability(AppGetCapability ¶m) override; StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; StatusCode GetStorageInfo(std::vector ¶m) override; diff --git a/test/middleware/AppManager/src/AppManager_Test.cpp b/test/middleware/AppManager/src/AppManager_Test.cpp index 78470d9..f19d7a0 100644 --- a/test/middleware/AppManager/src/AppManager_Test.cpp +++ b/test/middleware/AppManager/src/AppManager_Test.cpp @@ -57,7 +57,7 @@ TEST_F(AppManagerTest, INTEGRATION_AppManager_EXAMPLE_Demo0) IAppManager::GetInstance()->Init(mAppParam); IAppManager::GetInstance()->SetAppMonitor(monitor); std::this_thread::sleep_for(std::chrono::milliseconds(100)); - std::this_thread::sleep_for(std::chrono::milliseconds(20000)); + std::this_thread::sleep_for(std::chrono::milliseconds(200000)); IAppManager::GetInstance()->UnInit(); } // ../output_files/test/bin/AppManagerTest --gtest_filter=AppManagerTest.INTEGRATION_AppManager_EXAMPLE_Demo diff --git a/test/middleware/AppManager/tool/src/AppMonitorMock.cpp b/test/middleware/AppManager/tool/src/AppMonitorMock.cpp index 5d3d131..bdca552 100644 --- a/test/middleware/AppManager/tool/src/AppMonitorMock.cpp +++ b/test/middleware/AppManager/tool/src/AppMonitorMock.cpp @@ -84,7 +84,7 @@ StatusCode AppMonitorTrace::GetBatteryInfoTrace(AppGetBatteryInfo ¶m) LogInfo("AppMonitorTrace::GetBatteryInfoTrace\n"); return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode AppMonitorTest::GetParamValue(AppGetParamValue ¶m) +StatusCode AppMonitorTest::GetParamValue(AppParamValue ¶m) { LogInfo("AppMonitorTest::GetParamValue\n"); StatusCode code = GetParamValueTrace(param); @@ -93,7 +93,7 @@ StatusCode AppMonitorTest::GetParamValue(AppGetParamValue ¶m) } return code; } -StatusCode AppMonitorTrace::GetParamValueTrace(AppGetParamValue ¶m) +StatusCode AppMonitorTrace::GetParamValueTrace(AppParamValue ¶m) { LogInfo("AppMonitorTrace::GetParamValueTrace\n"); return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/test/middleware/AppManager/tool/src/AppMonitorMock.h b/test/middleware/AppManager/tool/src/AppMonitorMock.h index 9acaa19..4d19508 100644 --- a/test/middleware/AppManager/tool/src/AppMonitorMock.h +++ b/test/middleware/AppManager/tool/src/AppMonitorMock.h @@ -28,7 +28,7 @@ protected: virtual StatusCode GetMediaInfoTrace(AppGetMeidaInfo ¶m); virtual StatusCode GetSdCardInfoTrace(AppGetSdCardInfo ¶m); virtual StatusCode GetBatteryInfoTrace(AppGetBatteryInfo ¶m); - virtual StatusCode GetParamValueTrace(AppGetParamValue ¶m); + virtual StatusCode GetParamValueTrace(AppParamValue ¶m); virtual StatusCode GetCapabilityTrace(AppGetCapability ¶m); virtual StatusCode GetLockVideoStatusTrace(LockVideoStatus ¶m); virtual StatusCode GetStorageInfoTrace(std::vector ¶m); @@ -50,7 +50,7 @@ public: StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override; StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override; StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override; - StatusCode GetParamValue(AppGetParamValue ¶m) override; + StatusCode GetParamValue(AppParamValue ¶m) override; StatusCode GetCapability(AppGetCapability ¶m) override; StatusCode GetLockVideoStatus(LockVideoStatus ¶m) override; StatusCode GetStorageInfo(std::vector ¶m) override; @@ -72,7 +72,7 @@ public: MOCK_METHOD1(GetMediaInfoTrace, StatusCode(AppGetMeidaInfo &)); MOCK_METHOD1(GetSdCardInfoTrace, StatusCode(AppGetSdCardInfo &)); MOCK_METHOD1(GetBatteryInfoTrace, StatusCode(AppGetBatteryInfo &)); - MOCK_METHOD1(GetParamValueTrace, StatusCode(AppGetParamValue &)); + MOCK_METHOD1(GetParamValueTrace, StatusCode(AppParamValue &)); MOCK_METHOD1(GetCapabilityTrace, StatusCode(AppGetCapability &)); MOCK_METHOD1(GetLockVideoStatusTrace, StatusCode(LockVideoStatus &)); MOCK_METHOD1(GetStorageInfoTrace, StatusCode(std::vector &)); From cbb9e2a5d21770e73cd5e0fe53faa7ce2c5f21e9 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 16:09:29 +0800 Subject: [PATCH 14/19] Backup. --- .../src/Protocol/SixFrame/SixFrameHandle.cpp | 26 +++---------------- .../tool/include/AppManagerTestTool.h | 3 ++- .../tool/src/AppManagerTestTool.cpp | 13 ++++++++-- 3 files changed, 16 insertions(+), 26 deletions(-) diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp index 232ab0a..91f1d3e 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.cpp @@ -425,39 +425,19 @@ AppGetFileInfo inline SixFrameHandle::RequestGetFileListParse(const std::string void SixFrameHandle::RequestGetFileList(const std::string &url, ResponseHandle responseHandle, void *context) { LogInfo("RequestGetFileList.\n"); - std::vector param; + std::vector files; AppGetFileInfo info = RequestGetFileListParse(url); - mAppMonitor->GetStorageFileList(info, param); + mAppMonitor->GetStorageFileList(info, files); cJSON *result = MakeResponseResult(ResposeResult::SUCCESSFUL); if (nullptr == result) { LogError("MakeResponseResult failed.\n"); responseHandle("Device run out of memory.", context); return; } - ResponseGetFileList(result, param, info); + ResponseGetFileList(result, files, info); ResponseJsonString(result, responseHandle, context); cJSON_Delete(result); } -/** - * @brief -{ - "result": 0, - "info": [{ - "folder": "loop", - "count": 1, - "files": [{ - "name": "/DCIM/2024/01/15/20240115135444-20240115135504.mp4", - "duration": 15, - "size": 1024, - "createtime": 123456789, - "type": 0 - }] - }] -} - * @param result - * @param param - * @param fileInfo - */ void inline SixFrameHandle::ResponseGetFileList(cJSON *result, const std::vector ¶m, const AppGetFileInfo &fileInfo) { diff --git a/test/middleware/AppManager/tool/include/AppManagerTestTool.h b/test/middleware/AppManager/tool/include/AppManagerTestTool.h index 2e6020b..f110eab 100644 --- a/test/middleware/AppManager/tool/include/AppManagerTestTool.h +++ b/test/middleware/AppManager/tool/include/AppManagerTestTool.h @@ -42,9 +42,11 @@ protected: void MockSetParamValue(void); void MockEnterRecorder(void); void MockAppPlayback(void); + void MockMonitorSetFileList(std::vector &files); private: void AppManagerMockInit(std::shared_ptr &vMock); + void AppMonitorInit(std::shared_ptr &vMock); private: std::shared_ptr mAppManagerMock; @@ -52,6 +54,5 @@ private: public: static std::shared_ptr MakeMonitorMock(void); - void AppMonitorInit(std::shared_ptr &vMock); }; #endif \ No newline at end of file diff --git a/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp b/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp index 1bf97e3..a2ba6db 100644 --- a/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp +++ b/test/middleware/AppManager/tool/src/AppManagerTestTool.cpp @@ -194,6 +194,17 @@ void AppManagerTestTool::MockAppPlayback(void) } ServersMock::GetInstance()->MockAppPlayback(); } +void AppManagerTestTool::MockMonitorSetFileList(std::vector &files) +{ + std::shared_ptr mock = std::dynamic_pointer_cast(mAppMonitorMock); + if (mock) { + EXPECT_CALL(*mock.get(), GetStorageFileListTrace(_, _)) + .WillRepeatedly(DoAll(SetArgReferee<1>(files), Return(CreateStatusCode(STATUS_CODE_OK)))); + } + else { + LogError("MockMonitorSetFileList failed, mAppMonitorMock isn't mock object.\n"); + } +} void AppManagerTestTool::AppManagerMockInit(std::shared_ptr &vMock) { std::shared_ptr mock = std::dynamic_pointer_cast(vMock); @@ -203,7 +214,6 @@ void AppManagerTestTool::AppManagerMockInit(std::shared_ptr &vMock) } auto getAppMonitor = [=](std::shared_ptr &monitor) { LogInfo("mAppMonitorMock get.\n"); - // mAppMonitorMock = std::dynamic_pointer_cast(monitor); mAppMonitorMock = monitor; AppManagerTestTool::AppMonitorInit(mAppMonitorMock); }; @@ -220,7 +230,6 @@ std::shared_ptr AppManagerTestTool::MakeMonitorMock(void) virtual ~Monitor() = default; }; std::shared_ptr monitor = std::make_shared(); - // auto result = std::dynamic_pointer_cast(monitor); return monitor; } void AppManagerTestTool::AppMonitorInit(std::shared_ptr &vMock) From 73a7ca3787912a9d6d9926e063e010d3d5916b49 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 17:05:51 +0800 Subject: [PATCH 15/19] Improve:clang-format. --- .clang-format | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.clang-format b/.clang-format index c7bb547..704ae66 100755 --- a/.clang-format +++ b/.clang-format @@ -14,8 +14,8 @@ AllowAllConstructorInitializersOnNextLine: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: Never AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: All -AllowShortLambdasOnASingleLine: All +AllowShortFunctionsOnASingleLine: false +AllowShortLambdasOnASingleLine: false AllowShortIfStatementsOnASingleLine: Never AllowShortLoopsOnASingleLine: false AlwaysBreakAfterDefinitionReturnType: None From 6830104fcdca66de5fb05cff5923d0503e378d95 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 26 Mar 2024 18:46:17 +0800 Subject: [PATCH 16/19] Improve:clang-format setting. --- application/HunttingCamera/src/MainThread.cpp | 9 +- application/HunttingCamera/src/MainThread.h | 5 +- .../MissionManager/include/IMissionManager.h | 4 +- application/MissionManager/src/AppMonitor.cpp | 15 ++- .../MissionManager/src/DataProcessing.h | 4 +- .../MissionManager/src/IMissionManager.cpp | 10 +- .../MissionManager/src/MissionState.cpp | 9 +- .../src/MissionStateMachine.cpp | 5 +- .../MissionManager/src/TestMissionState.cpp | 9 +- application/MissionManager/src/TopState.cpp | 9 +- application/main/src/MainThread.cpp | 13 ++- application/main/src/MainThread.h | 9 +- hal/abstract/IHal.cpp | 19 +++- hal/abstract/IHalCpp.cpp | 10 +- hal/include/IHal.h | 10 +- hal/include/IHalCpp.h | 17 ++- hal/src/HalMakePtr.h | 10 +- middleware/AppManager/include/IAppManager.h | 26 ++++- middleware/AppManager/src/IAppManager.cpp | 40 +++++-- .../AppManager/src/IAppProtocolHandle.h | 12 +- .../src/Protocol/SixFrame/SixFrameHandle.h | 4 +- .../DeviceManager/include/IDeviceManager.h | 4 +- .../DeviceManager/src/IDeviceManager.cpp | 10 +- middleware/IpcConfig/include/IIpcConfig.h | 105 ++++++++++++++---- middleware/IpcConfig/src/IpcConfig.cpp | 5 +- middleware/McuManager/include/IMcuManager.h | 28 ++++- middleware/McuManager/src/IMcuManager.cpp | 10 +- middleware/McuManager/src/McuDevice.cpp | 12 +- middleware/McuManager/src/McuManagerImpl.cpp | 5 +- .../MediaManager/include/IMediaManager.h | 32 ++++-- .../StateMachine/include/IStateMachine.h | 50 +++++++-- .../src/OpenHarmony/internal_message.h | 10 +- .../src_mock/HunttingCamera_Mock_Test.cpp | 13 ++- test/hal/tool/include/HalTestTool.h | 4 +- test/hal/tool/src/KeyControlMock.h | 10 +- .../AppManager/src/AppManager_Test.cpp | 13 ++- .../DeviceManager/src/DeviceManager_Test.cpp | 13 ++- .../tool/src/SingleControlMock.h | 10 +- .../tool/include/McuAskBaseTestTool.h | 16 ++- .../src_mock/McuManager_Mock_Test.cpp | 68 ++++++++---- .../utils/LinuxApiMock/include/LinuxApiMock.h | 13 ++- test/utils/LinuxApiMock/src/HandleManager.cpp | 5 +- test/utils/LinuxApiMock/src/LinuxTestImpl.cpp | 4 +- test/utils/LinuxApiMock/src/WrapApi.cpp | 10 +- .../tool/src/McuProtocolTestTool.cpp | 4 +- .../src_mock/UartDevice_Mock_Test.cpp | 13 ++- .../tool/src/UartDeviceTestTool.cpp | 4 +- utils/Config/src/Config.c | 15 ++- utils/KeyControl/include/KeyControl.h | 14 ++- utils/KeyControl/src/KeyControl.cpp | 13 ++- utils/LedControl/include/LedControl.h | 33 ++++-- utils/LinuxApi/src/LinuxApi.c | 25 ++++- utils/McuProtocol/include/McuProtocol.h | 34 ++++-- utils/McuProtocol/src/LittleEndianHandle.cpp | 5 +- utils/McuProtocol/src/McuProtocol.cpp | 9 +- utils/McuProtocol/src/McuProtocolMakePtr.cpp | 5 +- utils/McuProtocol/src/ProtocolHandle.cpp | 5 +- utils/McuProtocol/src/ProtocolHandle.h | 32 ++++-- utils/MediaAdapter/src/IMediaAdapter.cpp | 5 +- utils/MediaAdapter/src/IMediaAdapter.h | 4 +- utils/MediaAdapter/src/MediaAdapter.cpp | 5 +- utils/Servers/src/curl_serve.c | 10 +- utils/Servers/src/servers.c | 9 +- utils/SharedData/include/SharedData.h | 10 +- utils/StatusCode/include/StatusCode.h | 15 ++- utils/TcpModule/src/TcpModuleImpl.cpp | 10 +- utils/UartDevice/src/UartDevice.cpp | 5 +- utils/UartDevice/src/UartDeviceImpl.cpp | 10 +- 68 files changed, 772 insertions(+), 221 deletions(-) diff --git a/application/HunttingCamera/src/MainThread.cpp b/application/HunttingCamera/src/MainThread.cpp index f8cec74..6aea94f 100644 --- a/application/HunttingCamera/src/MainThread.cpp +++ b/application/HunttingCamera/src/MainThread.cpp @@ -33,7 +33,10 @@ void InitSignalHandle(void) signal(SIGKILL, sigHandler); signal(SIGPIPE, SIG_IGN); } -MainThread::MainThread() { mMainThreadRuning = false; } +MainThread::MainThread() +{ + mMainThreadRuning = false; +} std::shared_ptr &MainThread::GetInstance(std::shared_ptr *impl) { static auto instance = std::make_shared(); @@ -87,7 +90,9 @@ void MainThread::DestoryAllModules(void) DestroyMcuManager(); DestroyHalCppModule(); } -void MainThread::ResetAllPtrMaker(void) {} +void MainThread::ResetAllPtrMaker(void) +{ +} void MainThread::Runing(void) { while (mMainThreadRuning) { diff --git a/application/HunttingCamera/src/MainThread.h b/application/HunttingCamera/src/MainThread.h index a0a6d9b..a3361e0 100644 --- a/application/HunttingCamera/src/MainThread.h +++ b/application/HunttingCamera/src/MainThread.h @@ -25,7 +25,10 @@ public: virtual StatusCode Init(void); virtual StatusCode UnInit(void); void Runing(void); - void Exit(void) { mMainThreadRuning = false; } + void Exit(void) + { + mMainThreadRuning = false; + } virtual void CustomizationInit(void); private: diff --git a/application/MissionManager/include/IMissionManager.h b/application/MissionManager/include/IMissionManager.h index a4e082a..1cbcb5d 100644 --- a/application/MissionManager/include/IMissionManager.h +++ b/application/MissionManager/include/IMissionManager.h @@ -43,7 +43,9 @@ class VMissionDataV2 : public VMissionData { public: - VMissionDataV2(const MissionEvent &event, T value) : VMissionData(event), mData(value) {} + VMissionDataV2(const MissionEvent &event, T value) : VMissionData(event), mData(value) + { + } virtual ~VMissionDataV2() = default; public: diff --git a/application/MissionManager/src/AppMonitor.cpp b/application/MissionManager/src/AppMonitor.cpp index aceb456..a8956a0 100644 --- a/application/MissionManager/src/AppMonitor.cpp +++ b/application/MissionManager/src/AppMonitor.cpp @@ -117,9 +117,18 @@ StatusCode AppMonitor::SetTimeZone(const unsigned int &zone) // return CreateStatusCode(STATUS_CODE_OK); } -StatusCode AppMonitor::SetParamValue(const AppSetParamValue ¶m) { return CreateStatusCode(STATUS_CODE_OK); } -StatusCode AppMonitor::EnterRecorder(void) { return CreateStatusCode(STATUS_CODE_OK); } -StatusCode AppMonitor::AppPlayback(const PlayBackEvent &event) { return CreateStatusCode(STATUS_CODE_OK); } +StatusCode AppMonitor::SetParamValue(const AppSetParamValue ¶m) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::EnterRecorder(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode AppMonitor::AppPlayback(const PlayBackEvent &event) +{ + return CreateStatusCode(STATUS_CODE_OK); +} StatusCode AppMonitor::UploadFile(AppUploadFile ¶m) { // diff --git a/application/MissionManager/src/DataProcessing.h b/application/MissionManager/src/DataProcessing.h index 3543792..5127af3 100644 --- a/application/MissionManager/src/DataProcessing.h +++ b/application/MissionManager/src/DataProcessing.h @@ -27,7 +27,9 @@ enum class InternalStateEvent class MissionData : public VStateMachineData { public: - MissionData(const std::shared_ptr &data) : mMissionData(data) {} + MissionData(const std::shared_ptr &data) : mMissionData(data) + { + } virtual ~MissionData() = default; const std::shared_ptr mMissionData; }; diff --git a/application/MissionManager/src/IMissionManager.cpp b/application/MissionManager/src/IMissionManager.cpp index cd5a51a..51af08f 100644 --- a/application/MissionManager/src/IMissionManager.cpp +++ b/application/MissionManager/src/IMissionManager.cpp @@ -28,5 +28,11 @@ std::shared_ptr &IMissionManager::GetInstance(std::shared_ptr, public McuAskBase { public: - McuAskIpcMission() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) { mDataReply = IpcMission::END; } + McuAskIpcMission() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + mDataReply = IpcMission::END; + } virtual ~McuAskIpcMission() = default; }; std::shared_ptr ask = std::make_shared(); diff --git a/application/MissionManager/src/TestMissionState.cpp b/application/MissionManager/src/TestMissionState.cpp index ede0c2d..5460ff4 100644 --- a/application/MissionManager/src/TestMissionState.cpp +++ b/application/MissionManager/src/TestMissionState.cpp @@ -15,7 +15,9 @@ #include "TestMissionState.h" #include "IAppManager.h" #include "ILog.h" -TestMissionState::TestMissionState() : MissionState("TestMissionState") {} +TestMissionState::TestMissionState() : MissionState("TestMissionState") +{ +} void TestMissionState::GoInState() { MissionState::GoInState(); @@ -31,4 +33,7 @@ void TestMissionState::GoOutState() MissionState::GoOutState(); LogInfo(" ========== TestMissionState::GoOutState.\n"); } -bool TestMissionState::ExecuteStateMsg(VStateMachineData *msg) { return MissionState::EventHandle(msg); } \ No newline at end of file +bool TestMissionState::ExecuteStateMsg(VStateMachineData *msg) +{ + return MissionState::EventHandle(msg); +} \ No newline at end of file diff --git a/application/MissionManager/src/TopState.cpp b/application/MissionManager/src/TopState.cpp index a95b5a4..9469049 100644 --- a/application/MissionManager/src/TopState.cpp +++ b/application/MissionManager/src/TopState.cpp @@ -15,7 +15,9 @@ #include "TopState.h" #include "ILog.h" #include "MissionStateMachine.h" -TopState::TopState() : State("TopState") {} +TopState::TopState() : State("TopState") +{ +} void TopState::GoInState() { // @@ -27,4 +29,7 @@ void TopState::GoOutState() // LogInfo(" ========== opState::GoOutState.\n"); } -bool TopState::ExecuteStateMsg(VStateMachineData *msg) { return DataProcessing::EventHandle(msg); } \ No newline at end of file +bool TopState::ExecuteStateMsg(VStateMachineData *msg) +{ + return DataProcessing::EventHandle(msg); +} \ No newline at end of file diff --git a/application/main/src/MainThread.cpp b/application/main/src/MainThread.cpp index b643b68..49353c9 100644 --- a/application/main/src/MainThread.cpp +++ b/application/main/src/MainThread.cpp @@ -16,7 +16,10 @@ #include "IHalCpp.h" #include "ILog.h" #include -MainThread::MainThread() { mMainThreadRuning = false; } +MainThread::MainThread() +{ + mMainThreadRuning = false; +} std::shared_ptr &MainThread::GetInstance(std::shared_ptr *impl) { static auto instance = std::make_shared(); @@ -56,8 +59,12 @@ StatusCode MainThread::CreateAllModules(void) CreateHalCppModule(); return CreateStatusCode(STATUS_CODE_OK); } -void MainThread::DestoryAllModules(void) {} -void MainThread::ResetAllPtrMaker(void) {} +void MainThread::DestoryAllModules(void) +{ +} +void MainThread::ResetAllPtrMaker(void) +{ +} void MainThread::Runing(void) { while (mMainThreadRuning) { diff --git a/application/main/src/MainThread.h b/application/main/src/MainThread.h index 4ced64c..6d3fd9e 100644 --- a/application/main/src/MainThread.h +++ b/application/main/src/MainThread.h @@ -25,8 +25,13 @@ public: virtual StatusCode Init(void); virtual StatusCode UnInit(void); void Runing(void); - void Exit(void) { mMainThreadRuning = false; } - virtual void CustomizationInit(void) {} + void Exit(void) + { + mMainThreadRuning = false; + } + virtual void CustomizationInit(void) + { + } private: StatusCode CreateAllModules(void); diff --git a/hal/abstract/IHal.cpp b/hal/abstract/IHal.cpp index e851792..115c424 100644 --- a/hal/abstract/IHal.cpp +++ b/hal/abstract/IHal.cpp @@ -17,16 +17,27 @@ #include "StatusCode.h" // #include #include -static StatusCode IHalInit(IHal *object) { return IHalCpp::GetInstance()->Init(); } -static void IHalFree(void *object) {} -static StatusCode IHalUnInit(IHal *object) { return IHalCpp::GetInstance()->UnInit(); } +static StatusCode IHalInit(IHal *object) +{ + return IHalCpp::GetInstance()->Init(); +} +static void IHalFree(void *object) +{ +} +static StatusCode IHalUnInit(IHal *object) +{ + return IHalCpp::GetInstance()->UnInit(); +} static IHal default_hal = { .init = IHalInit, .un_init = IHalUnInit, .free = IHalFree, }; static IHal *hal_instance = &default_hal; -IHal *GetHalIntance(void) { return hal_instance; } +IHal *GetHalIntance(void) +{ + return hal_instance; +} StatusCode NewIHal(IHal **object) { if (!object || !(*object)) { diff --git a/hal/abstract/IHalCpp.cpp b/hal/abstract/IHalCpp.cpp index 58369e4..8b8762d 100644 --- a/hal/abstract/IHalCpp.cpp +++ b/hal/abstract/IHalCpp.cpp @@ -29,8 +29,14 @@ std::shared_ptr &IHalCpp::GetInstance(std::shared_ptr *impl) } return instance; } -StatusCode IHalCpp::Init(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode IHalCpp::UnInit(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode IHalCpp::Init(void) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IHalCpp::UnInit(void) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode IHalCpp::GetAllLeds(std::map> &allLeds) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/hal/include/IHal.h b/hal/include/IHal.h index 2ab59dc..1a3713a 100644 --- a/hal/include/IHal.h +++ b/hal/include/IHal.h @@ -48,8 +48,14 @@ typedef struct i_hal IHal *GetHalIntance(void); StatusCode NewIHal(IHal **object); void ResetHalImpl(IHal *impl); -static inline StatusCode IHalInit(void) { return GetHalIntance()->init(GetHalIntance()); } -static inline StatusCode IHalUnInit(void) { return GetHalIntance()->un_init(GetHalIntance()); } +static inline StatusCode IHalInit(void) +{ + return GetHalIntance()->init(GetHalIntance()); +} +static inline StatusCode IHalUnInit(void) +{ + return GetHalIntance()->un_init(GetHalIntance()); +} StatusCode CreateHalModule(void); StatusCode DestroyHalModule(void); #ifdef __cplusplus diff --git a/hal/include/IHalCpp.h b/hal/include/IHalCpp.h index b885ed2..252620e 100644 --- a/hal/include/IHalCpp.h +++ b/hal/include/IHalCpp.h @@ -40,9 +40,15 @@ class VKeyHal public: VKeyHal() = default; virtual ~VKeyHal() = default; - virtual void CheckKeyStatus(void) {} - virtual void GetHoldPressingTimeMs(long int &holdTimeMs, VirtualKeyEvent &event) {} - virtual void SetKeyMonitor(std::shared_ptr &monitor) {} + virtual void CheckKeyStatus(void) + { + } + virtual void GetHoldPressingTimeMs(long int &holdTimeMs, VirtualKeyEvent &event) + { + } + virtual void SetKeyMonitor(std::shared_ptr &monitor) + { + } }; class VLedHal { @@ -55,7 +61,10 @@ class VWifiHal public: VWifiHal() = default; virtual ~VWifiHal() = default; - virtual StatusCode OpenApMode(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } + virtual StatusCode OpenApMode(void) + { + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); + } }; class IHalCpp { diff --git a/hal/src/HalMakePtr.h b/hal/src/HalMakePtr.h index 491fdcb..efd300d 100644 --- a/hal/src/HalMakePtr.h +++ b/hal/src/HalMakePtr.h @@ -24,8 +24,14 @@ public: HalMakePtr() = default; virtual ~HalMakePtr() = default; static std::shared_ptr &GetInstance(std::shared_ptr *impl = nullptr); - virtual StatusCode Init() { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } - virtual StatusCode UnInit() { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } + virtual StatusCode Init() + { + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); + } + virtual StatusCode UnInit() + { + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); + } virtual StatusCode CreateHalPtr(IHal **hal); virtual StatusCode CreateHalSharePtr(std::shared_ptr &impl); virtual StatusCode CreateWifiHal(std::shared_ptr &impl); diff --git a/middleware/AppManager/include/IAppManager.h b/middleware/AppManager/include/IAppManager.h index 24c31ba..5cd7a7e 100644 --- a/middleware/AppManager/include/IAppManager.h +++ b/middleware/AppManager/include/IAppManager.h @@ -153,7 +153,9 @@ enum class FileCopy }; typedef struct app_get_product_info { - app_get_product_info() {} + app_get_product_info() + { + } std::string mModel; std::string mCompany; std::string mSoc; @@ -161,7 +163,9 @@ typedef struct app_get_product_info } AppGetProductInfo; typedef struct app_get_device_attr { - app_get_device_attr() {} + app_get_device_attr() + { + } std::string mUUID; std::string mSoftVersion; std::string mOtaVersion; @@ -174,7 +178,10 @@ typedef struct app_get_device_attr } AppGetDeviceAttr; typedef struct app_get_media_info { - app_get_media_info() { mPort = -1; } + app_get_media_info() + { + mPort = -1; + } std::string mRtspUrl; std::string mTransport; int mPort; @@ -281,7 +288,10 @@ typedef struct app_get_file_list } AppGetFileList; typedef struct app_set_param_value { - app_set_param_value() { mValue = -1; } + app_set_param_value() + { + mValue = -1; + } std::string mName; int mValue; } AppSetParamValue; @@ -311,7 +321,9 @@ typedef struct app_upload_file } AppUploadFile; typedef struct app_get_thumbnail { - app_get_thumbnail(const std::string file) : mFile(file) {} + app_get_thumbnail(const std::string file) : mFile(file) + { + } const std::string mFile; std::string mThumbnail; } AppGetThumbnail; @@ -340,7 +352,9 @@ public: }; typedef struct app_param { - app_param(const char *ip, const int port) : mIP(ip), mPort(port) {} + app_param(const char *ip, const int port) : mIP(ip), mPort(port) + { + } const char *mIP; const int mPort; } AppParam; diff --git a/middleware/AppManager/src/IAppManager.cpp b/middleware/AppManager/src/IAppManager.cpp index ecdbeed..d01955d 100644 --- a/middleware/AppManager/src/IAppManager.cpp +++ b/middleware/AppManager/src/IAppManager.cpp @@ -22,7 +22,10 @@ StatusCode VAppMonitor::GetDeviceAttr(AppGetDeviceAttr ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::GetMediaInfo(AppGetMeidaInfo ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::GetMediaInfo(AppGetMeidaInfo ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::GetSdCardInfo(AppGetSdCardInfo ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); @@ -31,7 +34,10 @@ StatusCode VAppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::GetParamValue(AppParamValue ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::GetParamValue(AppParamValue ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::GetCapability(AppGetCapability ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); @@ -52,18 +58,30 @@ StatusCode VAppMonitor::SetDateTime(const AppSetDateTime ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::SetTimeZone(const unsigned int &zone) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::SetTimeZone(const unsigned int &zone) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::SetParamValue(const AppSetParamValue ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::EnterRecorder(void) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::EnterRecorder(void) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} StatusCode VAppMonitor::AppPlayback(const PlayBackEvent &event) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::UploadFile(AppUploadFile ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } -StatusCode VAppMonitor::GetThumbnail(AppGetThumbnail ¶m) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } +StatusCode VAppMonitor::UploadFile(AppUploadFile ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode VAppMonitor::GetThumbnail(AppGetThumbnail ¶m) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} std::shared_ptr &IAppManager::GetInstance(std::shared_ptr *impl) { static auto instance = std::make_shared(); @@ -78,8 +96,14 @@ std::shared_ptr &IAppManager::GetInstance(std::shared_ptr &monitor) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/middleware/AppManager/src/IAppProtocolHandle.h b/middleware/AppManager/src/IAppProtocolHandle.h index 575ff52..4cd04d4 100644 --- a/middleware/AppManager/src/IAppProtocolHandle.h +++ b/middleware/AppManager/src/IAppProtocolHandle.h @@ -30,12 +30,18 @@ class IAppProtocolHandle public: IAppProtocolHandle() = default; virtual ~IAppProtocolHandle() = default; - virtual void Init(void) {} - virtual void UnInit(void) {} + virtual void Init(void) + { + } + virtual void UnInit(void) + { + } virtual void RequestHandle(const char *url, const unsigned int urlLength, ResponseHandle responseHandle, void *context) { } - virtual void SetAppMonitor(std::shared_ptr &monitor) {} + virtual void SetAppMonitor(std::shared_ptr &monitor) + { + } }; #endif \ No newline at end of file diff --git a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h index 04b479a..edc900e 100644 --- a/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h +++ b/middleware/AppManager/src/Protocol/SixFrame/SixFrameHandle.h @@ -36,7 +36,9 @@ class ParseUrl : public VParseUrl { public: - ParseUrl() {} + ParseUrl() + { + } virtual ~ParseUrl() = default; public: diff --git a/middleware/DeviceManager/include/IDeviceManager.h b/middleware/DeviceManager/include/IDeviceManager.h index 5a34807..e946930 100644 --- a/middleware/DeviceManager/include/IDeviceManager.h +++ b/middleware/DeviceManager/include/IDeviceManager.h @@ -36,7 +36,9 @@ class VKeyMonitor public: VKeyMonitor() = default; virtual ~VKeyMonitor() = default; - virtual void KeyEventReport(const std::string &keyName, const VirtualKeyEvent &event, const unsigned int &timeMs) {} + virtual void KeyEventReport(const std::string &keyName, const VirtualKeyEvent &event, const unsigned int &timeMs) + { + } }; class VirtualLedControl { diff --git a/middleware/DeviceManager/src/IDeviceManager.cpp b/middleware/DeviceManager/src/IDeviceManager.cpp index 3d893d0..9bc5535 100644 --- a/middleware/DeviceManager/src/IDeviceManager.cpp +++ b/middleware/DeviceManager/src/IDeviceManager.cpp @@ -28,8 +28,14 @@ std::shared_ptr &IDeviceManager::GetInstance(std::shared_ptr &control) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/middleware/IpcConfig/include/IIpcConfig.h b/middleware/IpcConfig/include/IIpcConfig.h index 2f271d6..4f72be3 100644 --- a/middleware/IpcConfig/include/IIpcConfig.h +++ b/middleware/IpcConfig/include/IIpcConfig.h @@ -96,30 +96,89 @@ class IIpcConfig public: IIpcConfig() = default; virtual ~IIpcConfig() = default; - virtual const StatusCode ConfigFileSave(void) { return CreateStatusCode(STATUS_CODE_OK); } + virtual const StatusCode ConfigFileSave(void) + { + return CreateStatusCode(STATUS_CODE_OK); + } static std::shared_ptr &GetInstance(std::shared_ptr *impl = nullptr); - virtual const StatusCode Init(void) { return CreateStatusCode(STATUS_CODE_OK); } - virtual const StatusCode UnInit(void) { return CreateStatusCode(STATUS_CODE_OK); } - virtual const int GetInt(const IpcConfigKey &key) { return -1; } - virtual void SetInt(const IpcConfigKey &key, const int &value) {} - virtual const short GetShort(const IpcConfigKey &key) { return -1; } - virtual void SetShort(const IpcConfigKey &key, const short &value) {} - virtual const long GetLong(const IpcConfigKey &key) { return -1; } - virtual void SetLong(const IpcConfigKey &key, const long &value) {} - virtual const long long GetLLong(const IpcConfigKey &key) { return -1; } - virtual void SetLLong(const IpcConfigKey &key, const long long &value) {} - virtual const char GetChar(const IpcConfigKey &key) { return '\0'; } - virtual void SetChar(const IpcConfigKey &key, const char &value) {} - virtual const float GetFloat(const IpcConfigKey &key) { return -1.0; } - virtual void SetFloat(const IpcConfigKey &key, const float &value) {} - virtual const double GetDouble(const IpcConfigKey &key) { return -1.0; } - virtual void SetDouble(const IpcConfigKey &key, const double &value) {} - virtual const long double GetLongDouble(const IpcConfigKey &key) { return -1.0; } - virtual void SetLongDouble(const IpcConfigKey &key, const long double &value) {} - virtual const bool GetBool(const IpcConfigKey &key) { return true; } - virtual void SetBool(const IpcConfigKey &key, const bool &value) {} - virtual const std::string GetString(const IpcConfigKey &key) { return "undefine"; } - virtual void SetString(const IpcConfigKey &key, const std::string string) {} + virtual const StatusCode Init(void) + { + return CreateStatusCode(STATUS_CODE_OK); + } + virtual const StatusCode UnInit(void) + { + return CreateStatusCode(STATUS_CODE_OK); + } + virtual const int GetInt(const IpcConfigKey &key) + { + return -1; + } + virtual void SetInt(const IpcConfigKey &key, const int &value) + { + } + virtual const short GetShort(const IpcConfigKey &key) + { + return -1; + } + virtual void SetShort(const IpcConfigKey &key, const short &value) + { + } + virtual const long GetLong(const IpcConfigKey &key) + { + return -1; + } + virtual void SetLong(const IpcConfigKey &key, const long &value) + { + } + virtual const long long GetLLong(const IpcConfigKey &key) + { + return -1; + } + virtual void SetLLong(const IpcConfigKey &key, const long long &value) + { + } + virtual const char GetChar(const IpcConfigKey &key) + { + return '\0'; + } + virtual void SetChar(const IpcConfigKey &key, const char &value) + { + } + virtual const float GetFloat(const IpcConfigKey &key) + { + return -1.0; + } + virtual void SetFloat(const IpcConfigKey &key, const float &value) + { + } + virtual const double GetDouble(const IpcConfigKey &key) + { + return -1.0; + } + virtual void SetDouble(const IpcConfigKey &key, const double &value) + { + } + virtual const long double GetLongDouble(const IpcConfigKey &key) + { + return -1.0; + } + virtual void SetLongDouble(const IpcConfigKey &key, const long double &value) + { + } + virtual const bool GetBool(const IpcConfigKey &key) + { + return true; + } + virtual void SetBool(const IpcConfigKey &key, const bool &value) + { + } + virtual const std::string GetString(const IpcConfigKey &key) + { + return "undefine"; + } + virtual void SetString(const IpcConfigKey &key, const std::string string) + { + } }; bool CreateIpcConfig(void); #endif \ No newline at end of file diff --git a/middleware/IpcConfig/src/IpcConfig.cpp b/middleware/IpcConfig/src/IpcConfig.cpp index 50cb272..cc45638 100644 --- a/middleware/IpcConfig/src/IpcConfig.cpp +++ b/middleware/IpcConfig/src/IpcConfig.cpp @@ -121,7 +121,10 @@ const StatusCode IpcConfig::UnInit(void) CloseConfigFile(mCfg); return CreateStatusCode(STATUS_CODE_OK); } -const StatusCode IpcConfig::ConfigFileSave(void) { return ConfigSaveFile(mCfg); } +const StatusCode IpcConfig::ConfigFileSave(void) +{ + return ConfigSaveFile(mCfg); +} const int IpcConfig::GetInt(const IpcConfigKey &key) { diff --git a/middleware/McuManager/include/IMcuManager.h b/middleware/McuManager/include/IMcuManager.h index 22af235..e0143a7 100644 --- a/middleware/McuManager/include/IMcuManager.h +++ b/middleware/McuManager/include/IMcuManager.h @@ -57,12 +57,26 @@ typedef struct mcu_ask_date_time class VMcuAsk { public: - VMcuAsk() { mSerialNumber = 0; } + VMcuAsk() + { + mSerialNumber = 0; + } virtual ~VMcuAsk() = default; - virtual ASK_RESULT Blocking(void) { return ASK_RESULT::END; } - virtual bool NeedReply(void) { return false; } - virtual void ReplyFinished(const bool result) {} - virtual bool IfTimeout(const unsigned int &integrationTimeMs) { return false; } + virtual ASK_RESULT Blocking(void) + { + return ASK_RESULT::END; + } + virtual bool NeedReply(void) + { + return false; + } + virtual void ReplyFinished(const bool result) + { + } + virtual bool IfTimeout(const unsigned int &integrationTimeMs) + { + return false; + } public: /** @@ -87,7 +101,9 @@ class VMcuMonitor public: VMcuMonitor() = default; virtual ~VMcuMonitor() = default; - virtual void RecvIpcMissionEvent(std::shared_ptr &recv, const IpcMission &mission) {} + virtual void RecvIpcMissionEvent(std::shared_ptr &recv, const IpcMission &mission) + { + } }; class IMcuManager { diff --git a/middleware/McuManager/src/IMcuManager.cpp b/middleware/McuManager/src/IMcuManager.cpp index f259172..a4f08ae 100644 --- a/middleware/McuManager/src/IMcuManager.cpp +++ b/middleware/McuManager/src/IMcuManager.cpp @@ -28,8 +28,14 @@ std::shared_ptr &IMcuManager::GetInstance(std::shared_ptr &monitor) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); diff --git a/middleware/McuManager/src/McuDevice.cpp b/middleware/McuManager/src/McuDevice.cpp index 731d4ba..ae736e1 100644 --- a/middleware/McuManager/src/McuDevice.cpp +++ b/middleware/McuManager/src/McuDevice.cpp @@ -28,7 +28,9 @@ McuDevice::McuDevice() mThreadRuning = false; mUartDevice = nullptr; } -McuDevice::~McuDevice() {} +McuDevice::~McuDevice() +{ +} const StatusCode McuDevice::Init(void) { UartInfo uartDevice = { @@ -50,9 +52,13 @@ const StatusCode McuDevice::Init(void) return code; } std::shared_ptr device = std::dynamic_pointer_cast(SharedFromThis()); - auto recvThread = [](std::shared_ptr device) { device->DeviceRecvThread(); }; + auto recvThread = [](std::shared_ptr device) { + device->DeviceRecvThread(); + }; mUartRecvThread = std::thread(recvThread, device); - auto mcuAskHandle = [](std::shared_ptr device) { device->McuAskHandleThread(); }; + auto mcuAskHandle = [](std::shared_ptr device) { + device->McuAskHandleThread(); + }; mMcuAskHandleThread = std::thread(mcuAskHandle, device); return CreateStatusCode(STATUS_CODE_OK); } diff --git a/middleware/McuManager/src/McuManagerImpl.cpp b/middleware/McuManager/src/McuManagerImpl.cpp index fe3ef28..7ecc8d5 100644 --- a/middleware/McuManager/src/McuManagerImpl.cpp +++ b/middleware/McuManager/src/McuManagerImpl.cpp @@ -15,7 +15,10 @@ #include "McuManagerImpl.h" #include "ILog.h" #include "UartRecvAsk.h" -std::shared_ptr McuManagerImpl::SharedFromThis(void) { return shared_from_this(); } +std::shared_ptr McuManagerImpl::SharedFromThis(void) +{ + return shared_from_this(); +} const StatusCode McuManagerImpl::Init(void) { McuDevice::Init(); diff --git a/middleware/MediaManager/include/IMediaManager.h b/middleware/MediaManager/include/IMediaManager.h index 1d72895..484c462 100644 --- a/middleware/MediaManager/include/IMediaManager.h +++ b/middleware/MediaManager/include/IMediaManager.h @@ -36,19 +36,37 @@ enum class SensorTaskType class SensorTaskResponse { public: - SensorTaskResponse() {} - ~SensorTaskResponse() {} + SensorTaskResponse() + { + } + ~SensorTaskResponse() + { + } }; class VSensorTask { public: VSensorTask() = default; virtual ~VSensorTask() = default; - virtual const SensorTaskType GetTaskType(void) { return SensorTaskType::END; } - virtual void Response(const std::vector &response) {} - virtual bool IsTaskFinished(void) { return false; } - virtual const signed int GetIsNight(void) { return 0; } - virtual const unsigned int GetIsMultShot(void) { return false; } + virtual const SensorTaskType GetTaskType(void) + { + return SensorTaskType::END; + } + virtual void Response(const std::vector &response) + { + } + virtual bool IsTaskFinished(void) + { + return false; + } + virtual const signed int GetIsNight(void) + { + return 0; + } + virtual const unsigned int GetIsMultShot(void) + { + return false; + } }; class VSensorHandle { diff --git a/middleware/StateMachine/include/IStateMachine.h b/middleware/StateMachine/include/IStateMachine.h index 67bac97..bddb7d4 100644 --- a/middleware/StateMachine/include/IStateMachine.h +++ b/middleware/StateMachine/include/IStateMachine.h @@ -36,14 +36,19 @@ public: class State { public: - explicit State(const std::string &name) : mStateName(name) {} + explicit State(const std::string &name) : mStateName(name) + { + } virtual ~State() = default; public: virtual void GoInState() = 0; virtual void GoOutState() = 0; virtual bool ExecuteStateMsg(VStateMachineData *msg) = 0; - std::string GetStateName() { return mStateName; } + std::string GetStateName() + { + return mStateName; + } private: std::string mStateName; @@ -53,20 +58,41 @@ class VStateMachineHandle public: VStateMachineHandle() = default; virtual ~VStateMachineHandle() = default; - virtual bool InitialStateMachine() { return false; } - virtual void StatePlus(State *state, State *upper) {} - virtual void SetCurrentState(State *firstState) {} - virtual void StartStateMachine() {} - virtual void SendMessage(int msgName) {} - virtual void StopHandlerThread() {} - virtual void SendMessage(int msgName, const std::shared_ptr &messageObj) {} + virtual bool InitialStateMachine() + { + return false; + } + virtual void StatePlus(State *state, State *upper) + { + } + virtual void SetCurrentState(State *firstState) + { + } + virtual void StartStateMachine() + { + } + virtual void SendMessage(int msgName) + { + } + virtual void StopHandlerThread() + { + } + virtual void SendMessage(int msgName, const std::shared_ptr &messageObj) + { + } virtual void MessageExecutedLater(int msgName, const std::shared_ptr &messageObj, int64_t delayTimeMs) { } - virtual void SwitchState(State *targetState) {} - virtual void StopTimer(int timerName) {} - virtual void DelayMessage(VStateMachineData *msg) {} + virtual void SwitchState(State *targetState) + { + } + virtual void StopTimer(int timerName) + { + } + virtual void DelayMessage(VStateMachineData *msg) + { + } }; class IStateMachine { diff --git a/middleware/StateMachine/src/OpenHarmony/internal_message.h b/middleware/StateMachine/src/OpenHarmony/internal_message.h index a91fd4b..37ccfbd 100644 --- a/middleware/StateMachine/src/OpenHarmony/internal_message.h +++ b/middleware/StateMachine/src/OpenHarmony/internal_message.h @@ -198,7 +198,10 @@ public: // mMessageObj = T(messageObj); // } - void SetMessageObj(const std::shared_ptr &messageObj) { mMessageObj = messageObj; } + void SetMessageObj(const std::shared_ptr &messageObj) + { + mMessageObj = messageObj; + } /** * @DescriptionGet the Message Obj object @@ -223,7 +226,10 @@ public: // { // return mMessageObj; // } - const std::shared_ptr &GetMessageObj(void) const override { return mMessageObj; } + const std::shared_ptr &GetMessageObj(void) const override + { + return mMessageObj; + } /** * @Description : Release Message Object. diff --git a/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp b/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp index bdaa161..68ada70 100644 --- a/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp +++ b/test/application/HunttingCamera/src_mock/HunttingCamera_Mock_Test.cpp @@ -42,14 +42,21 @@ class HunttingCameraTest : public testing::Test, { public: - HunttingCameraTest() {} - virtual ~HunttingCameraTest() {} + HunttingCameraTest() + { + } + virtual ~HunttingCameraTest() + { + } static void SetUpTestCase() { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); } - static void TearDownTestCase() { ILogUnInit(); } + static void TearDownTestCase() + { + ILogUnInit(); + } virtual void SetUp() { std::shared_ptr mainThread = std::make_shared(); diff --git a/test/hal/tool/include/HalTestTool.h b/test/hal/tool/include/HalTestTool.h index 61b22d3..4b4307c 100644 --- a/test/hal/tool/include/HalTestTool.h +++ b/test/hal/tool/include/HalTestTool.h @@ -32,7 +32,9 @@ public: const unsigned int &blinkTimeMs); protected: - virtual void DeviceManagerNotice(const std::string &keyName, const unsigned int &pressingTimeMs) {} + virtual void DeviceManagerNotice(const std::string &keyName, const unsigned int &pressingTimeMs) + { + } private: void KeyEventHappendOnce(std::shared_ptr &vMock, const unsigned int &pressingTimeMs); diff --git a/test/hal/tool/src/KeyControlMock.h b/test/hal/tool/src/KeyControlMock.h index 4b148c2..558a1eb 100644 --- a/test/hal/tool/src/KeyControlMock.h +++ b/test/hal/tool/src/KeyControlMock.h @@ -23,11 +23,17 @@ class KeyControlTest : public KeyControl, public VKeyHal public: KeyControlTest(const std::string &keyName); virtual ~KeyControlTest() = default; - unsigned int GetStatusCheckPeriodMs(void) override { return PERIPHERAL_CHECK_PERIOD_MS; } + unsigned int GetStatusCheckPeriodMs(void) override + { + return PERIPHERAL_CHECK_PERIOD_MS; + } void SetKeyMonitor(std::shared_ptr &monitor) override; void CheckKeyStatus(void) override; void KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs) override; - const std::string GetKeyName(void) override { return mKeyName; } + const std::string GetKeyName(void) override + { + return mKeyName; + } private: virtual StatusCode KeyEventTriggerTrace(const std::string &keyName, const KeyEvent &event, diff --git a/test/middleware/AppManager/src/AppManager_Test.cpp b/test/middleware/AppManager/src/AppManager_Test.cpp index f19d7a0..518b206 100644 --- a/test/middleware/AppManager/src/AppManager_Test.cpp +++ b/test/middleware/AppManager/src/AppManager_Test.cpp @@ -24,14 +24,21 @@ namespace AppManagerTest class AppManagerTest : public testing::Test, public AppManagerTestTool, public HalTestTool { public: - AppManagerTest() : mAppParam(APP_MANAGER_HTTP_SERVER_IP, APP_MANAGER_HTTP_SERVER_PORT) {} - virtual ~AppManagerTest() {} + AppManagerTest() : mAppParam(APP_MANAGER_HTTP_SERVER_IP, APP_MANAGER_HTTP_SERVER_PORT) + { + } + virtual ~AppManagerTest() + { + } static void SetUpTestCase() { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); } - static void TearDownTestCase() { ILogUnInit(); } + static void TearDownTestCase() + { + ILogUnInit(); + } virtual void SetUp() { HalTestTool::Init(); diff --git a/test/middleware/DeviceManager/src/DeviceManager_Test.cpp b/test/middleware/DeviceManager/src/DeviceManager_Test.cpp index 5abed79..71d85a7 100644 --- a/test/middleware/DeviceManager/src/DeviceManager_Test.cpp +++ b/test/middleware/DeviceManager/src/DeviceManager_Test.cpp @@ -26,14 +26,21 @@ const char *LED_TEST = "LED_TEST"; class DeviceManagerTest : public testing::Test, virtual public HalTestTool, public DeviceManagerTestTool { public: - DeviceManagerTest() {} - virtual ~DeviceManagerTest() {} + DeviceManagerTest() + { + } + virtual ~DeviceManagerTest() + { + } static void SetUpTestCase() { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); } - static void TearDownTestCase() { ILogUnInit(); } + static void TearDownTestCase() + { + ILogUnInit(); + } virtual void SetUp() { CreateAllKeysMcok(); diff --git a/test/middleware/DeviceManager/tool/src/SingleControlMock.h b/test/middleware/DeviceManager/tool/src/SingleControlMock.h index b856f4c..91fd65e 100644 --- a/test/middleware/DeviceManager/tool/src/SingleControlMock.h +++ b/test/middleware/DeviceManager/tool/src/SingleControlMock.h @@ -22,8 +22,14 @@ public: SingleControlTool(const LedState &state, const unsigned int aliveTimeMs, const unsigned int &blinkTimeMs); virtual ~SingleControlTool() = default; virtual StatusCode GetLedState(LedState &state); - virtual unsigned int GetKeepAliveTimeMs(void) { return mAliveTimeMs; } - virtual unsigned int GetBlinkTimeMs(void) { return mBlinkTimeMs; } + virtual unsigned int GetKeepAliveTimeMs(void) + { + return mAliveTimeMs; + } + virtual unsigned int GetBlinkTimeMs(void) + { + return mBlinkTimeMs; + } private: const LedState mState; diff --git a/test/middleware/McuAskBase/tool/include/McuAskBaseTestTool.h b/test/middleware/McuAskBase/tool/include/McuAskBaseTestTool.h index 8b64056..45b7e39 100644 --- a/test/middleware/McuAskBase/tool/include/McuAskBaseTestTool.h +++ b/test/middleware/McuAskBase/tool/include/McuAskBaseTestTool.h @@ -32,10 +32,18 @@ public: bool IfTimeout(const unsigned int &integrationTimeMs) override; protected: - virtual void BlockingTrace(void) {} - virtual void NeedReplyTrace(void) {} - virtual void ReplyFinishedTrace(const bool result) {} - virtual void IfTimeoutTrace(const unsigned int &integrationTimeMs) {} + virtual void BlockingTrace(void) + { + } + virtual void NeedReplyTrace(void) + { + } + virtual void ReplyFinishedTrace(const bool result) + { + } + virtual void IfTimeoutTrace(const unsigned int &integrationTimeMs) + { + } }; class McuAskBaseTestTool : public McuAskBaseTest { diff --git a/test/middleware/McuManager/src_mock/McuManager_Mock_Test.cpp b/test/middleware/McuManager/src_mock/McuManager_Mock_Test.cpp index ba8ec80..df6019e 100644 --- a/test/middleware/McuManager/src_mock/McuManager_Mock_Test.cpp +++ b/test/middleware/McuManager/src_mock/McuManager_Mock_Test.cpp @@ -12,14 +12,21 @@ namespace McuManagerMockTest class McuManagerMockTest : public testing::Test, public McuManagerTestTool { public: - McuManagerMockTest() {} - virtual ~McuManagerMockTest() {} + McuManagerMockTest() + { + } + virtual ~McuManagerMockTest() + { + } static void SetUpTestCase() { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); } - static void TearDownTestCase() { ILogUnInit(); } + static void TearDownTestCase() + { + ILogUnInit(); + } virtual void SetUp() { mLinuxTest = LinuxTest::CreateLinuxTest(); @@ -58,7 +65,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_GetIpcMission) class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::BLOCK + McuAskTest() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -96,7 +105,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_GetIpcMission2) class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -156,8 +167,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_CutOffPowerSupply) class McuAskTest : public McuAskBase { public: - McuAskTest() - : McuAskBase(McuAskBlock::UNRELATED, McuAskReply::NEED_NOT_REPLY) {} // using McuAskReply::NEED_NOT_REPLY + McuAskTest() : McuAskBase(McuAskBlock::UNRELATED, McuAskReply::NEED_NOT_REPLY) + { + } // using McuAskReply::NEED_NOT_REPLY virtual ~McuAskTest() = default; }; IMcuManager::GetInstance()->Init(); @@ -176,8 +188,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_FeedWatchDog) class McuAskTest : public McuAskBase { public: - McuAskTest() - : McuAskBase(McuAskBlock::UNRELATED, McuAskReply::NEED_NOT_REPLY) {} // using McuAskReply::NEED_NOT_REPLY + McuAskTest() : McuAskBase(McuAskBlock::UNRELATED, McuAskReply::NEED_NOT_REPLY) + { + } // using McuAskReply::NEED_NOT_REPLY virtual ~McuAskTest() = default; }; IMcuManager::GetInstance()->Init(); @@ -196,7 +209,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_SetFeedingCycleForWatc class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::BLOCK + McuAskTest() : McuAskBase(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -230,7 +245,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_SetDateTime) class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -262,7 +279,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_SetPirSensitivity) class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -293,7 +312,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_ContorlInfraredLight) class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -324,7 +345,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_EXAMPLE_GetPhotosensitivityVal class McuAskTest : public McuAsk, public McuAskBase { public: - McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest() : McuAskBase(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -351,7 +374,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_AUTO_GetIpcMission) class McuAskTest : public McuAsk, public McuAskBaseTestTool { public: - McuAskTest() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} + McuAskTest() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + } virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -381,7 +406,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_AUTO_GetIpcMission2) class McuAskTest : public McuAsk, public McuAskBaseTestTool { public: - McuAskTest() : McuAskBaseTestTool(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) {} + McuAskTest() : McuAskBaseTestTool(McuAskBlock::NOT_BLOCK, McuAskReply::NEED_REPLY) + { + } virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { @@ -573,8 +600,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_AUTO_STRESS_MultiThreadWrite) class McuAskTest2 : public McuAsk, public McuAskBaseTestTool { public: - McuAskTest2() - : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} // using McuAskBlock::NOT_BLOCK + McuAskTest2() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + } // using McuAskBlock::NOT_BLOCK virtual ~McuAskTest2() = default; void ReplyFinished(const bool result) override { @@ -763,7 +791,9 @@ TEST_F(McuManagerMockTest, INTEGRATION_McuManager_AUTO_GetIpcMissionFailed) class McuAskTest : public McuAsk, public McuAskBaseTestTool { public: - McuAskTest() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) {} + McuAskTest() : McuAskBaseTestTool(McuAskBlock::BLOCK, McuAskReply::NEED_REPLY) + { + } virtual ~McuAskTest() = default; void ReplyFinished(const bool result) override { diff --git a/test/utils/LinuxApiMock/include/LinuxApiMock.h b/test/utils/LinuxApiMock/include/LinuxApiMock.h index d8efdc9..37a37c8 100644 --- a/test/utils/LinuxApiMock/include/LinuxApiMock.h +++ b/test/utils/LinuxApiMock/include/LinuxApiMock.h @@ -60,8 +60,12 @@ public: } return instance; } - virtual void Init() {} - virtual void UnInit() {} + virtual void Init() + { + } + virtual void UnInit() + { + } virtual int fx_open(const char *pathname, int flags); virtual int fx_tcgetattr(int fd, struct termios *termios_p); virtual int fx_tcsetattr(int fd, int optional_actions, const struct termios *termios_p); @@ -103,7 +107,10 @@ public: * * @return int */ - virtual int GetHandleForMock(void) { return INVALID_HANDLE; } + virtual int GetHandleForMock(void) + { + return INVALID_HANDLE; + } public: static std::shared_ptr CreateLinuxTest(void); diff --git a/test/utils/LinuxApiMock/src/HandleManager.cpp b/test/utils/LinuxApiMock/src/HandleManager.cpp index af11571..39d08bd 100644 --- a/test/utils/LinuxApiMock/src/HandleManager.cpp +++ b/test/utils/LinuxApiMock/src/HandleManager.cpp @@ -13,7 +13,10 @@ * limitations under the License. */ #include "HandleManager.h" -HandleManager::HandleManager() { mFdMax = 1000; } +HandleManager::HandleManager() +{ + mFdMax = 1000; +} int HandleManager::GetHandleForMock(void) { int value = mFdMax; diff --git a/test/utils/LinuxApiMock/src/LinuxTestImpl.cpp b/test/utils/LinuxApiMock/src/LinuxTestImpl.cpp index 1de75c2..e50892d 100644 --- a/test/utils/LinuxApiMock/src/LinuxTestImpl.cpp +++ b/test/utils/LinuxApiMock/src/LinuxTestImpl.cpp @@ -92,7 +92,9 @@ void LinuxTestImpl::ApiInit(std::shared_ptr &mock) Invoke((std::dynamic_pointer_cast(mock)).get(), &LinuxTestImpl::ApiUnlockThread), ReturnPointee(&selectResult))); } -void LinuxTestImpl::Init() {} +void LinuxTestImpl::Init() +{ +} void LinuxTestImpl::UnInit() { if (mApiThread.joinable()) { diff --git a/test/utils/LinuxApiMock/src/WrapApi.cpp b/test/utils/LinuxApiMock/src/WrapApi.cpp index 546ee1d..7c67a46 100644 --- a/test/utils/LinuxApiMock/src/WrapApi.cpp +++ b/test/utils/LinuxApiMock/src/WrapApi.cpp @@ -17,7 +17,10 @@ #ifdef __cplusplus extern "C" { #endif -int __wrap_fx_open(const char *pathname, int flags) { return LinuxApiMock::GetInstance()->fx_open(pathname, flags); } +int __wrap_fx_open(const char *pathname, int flags) +{ + return LinuxApiMock::GetInstance()->fx_open(pathname, flags); +} int __wrap_fx_tcgetattr(int fd, struct termios *termios_p) { return LinuxApiMock::GetInstance()->fx_tcgetattr(fd, termios_p); @@ -30,7 +33,10 @@ ssize_t __wrap_fx_write(int fd, const void *buf, size_t count) { return LinuxApiMock::GetInstance()->fx_write(fd, buf, count); } -ssize_t __wrap_fx_read(int fd, void *buf, size_t count) { return LinuxApiMock::GetInstance()->fx_read(fd, buf, count); } +ssize_t __wrap_fx_read(int fd, void *buf, size_t count) +{ + return LinuxApiMock::GetInstance()->fx_read(fd, buf, count); +} int __wrap_fx_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) { return LinuxApiMock::GetInstance()->fx_select(nfds, readfds, writefds, exceptfds, timeout); diff --git a/test/utils/McuProtocol/tool/src/McuProtocolTestTool.cpp b/test/utils/McuProtocol/tool/src/McuProtocolTestTool.cpp index 18b3284..19d396c 100644 --- a/test/utils/McuProtocol/tool/src/McuProtocolTestTool.cpp +++ b/test/utils/McuProtocol/tool/src/McuProtocolTestTool.cpp @@ -601,7 +601,9 @@ void McuProtocolTestTool::GetPhotosensitivityValueInit(std::shared_ptrUnlockThread(); }; + auto unlockThread = [=](McuProtocolTestTool *testTool) { + testTool->UnlockThread(); + }; if (mUnLockThread.joinable()) { mUnLockThread.join(); } diff --git a/test/utils/UartDevice/src_mock/UartDevice_Mock_Test.cpp b/test/utils/UartDevice/src_mock/UartDevice_Mock_Test.cpp index f6619f0..acbc857 100644 --- a/test/utils/UartDevice/src_mock/UartDevice_Mock_Test.cpp +++ b/test/utils/UartDevice/src_mock/UartDevice_Mock_Test.cpp @@ -33,14 +33,21 @@ static UartInfo gUartDevice = { class UartDeviceMockTest : public testing::Test, public UartDeviceTestTool { public: - UartDeviceMockTest() {} - virtual ~UartDeviceMockTest() {} + UartDeviceMockTest() + { + } + virtual ~UartDeviceMockTest() + { + } static void SetUpTestCase() { CreateLogModule(); ILogInit(LOG_INSTANCE_TYPE_END); } - static void TearDownTestCase() { ILogUnInit(); } + static void TearDownTestCase() + { + ILogUnInit(); + } virtual void SetUp() { mLinuxTest = LinuxTest::CreateLinuxTest(); diff --git a/test/utils/UartDevice/tool/src/UartDeviceTestTool.cpp b/test/utils/UartDevice/tool/src/UartDeviceTestTool.cpp index c80bc21..f6c60e6 100644 --- a/test/utils/UartDevice/tool/src/UartDeviceTestTool.cpp +++ b/test/utils/UartDevice/tool/src/UartDeviceTestTool.cpp @@ -99,7 +99,9 @@ void UartDeviceTestTool::SetRecvApiOnce(std::shared_ptr &mock, const EXPECT_CALL(*mock.get(), fx_select(uartFd + 1, _, _, _, _)) .WillOnce(DoAll(WithArgs<0, 1, 2, 3, 4>(Invoke(selectSucceed)), Return(SELECT_READABLE))) .WillRepeatedly(DoAll(WithArgs<0, 1, 2, 3, 4>(Invoke(selectTimeOut)), Return(MOCK_SELECT_TIME_OUT))); - auto readBuf = [=, &mock](int fd, void *buf, size_t count) { memcpy(buf, recvBuff, length); }; + auto readBuf = [=, &mock](int fd, void *buf, size_t count) { + memcpy(buf, recvBuff, length); + }; EXPECT_CALL(*mock.get(), fx_read(uartFd, _, _)) .WillOnce(DoAll(WithArgs<0, 1, 2>(Invoke(readBuf)), Return(length))) .WillRepeatedly(DoAll(Return(UART_DEVICE_READ_NOTHING))); diff --git a/utils/Config/src/Config.c b/utils/Config/src/Config.c index a4f37e4..4d143b7 100644 --- a/utils/Config/src/Config.c +++ b/utils/Config/src/Config.c @@ -16,9 +16,18 @@ #include "ConfigImpl.h" #include "ILog.h" #include -const StatusCode ConfigInit(void) { return CreateStatusCode(STATUS_CODE_OK); } -const StatusCode ConfigUnInit(void) { return CreateStatusCode(STATUS_CODE_OK); } -VConfig *OpenConfigFile(const char *fileName) { return (VConfig *)NewConfig(fileName); } +const StatusCode ConfigInit(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +const StatusCode ConfigUnInit(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +VConfig *OpenConfigFile(const char *fileName) +{ + return (VConfig *)NewConfig(fileName); +} const StatusCode ConfigSaveFile(VConfig *cfg) { if (NULL == cfg) { diff --git a/utils/KeyControl/include/KeyControl.h b/utils/KeyControl/include/KeyControl.h index 503cad4..b601e99 100644 --- a/utils/KeyControl/include/KeyControl.h +++ b/utils/KeyControl/include/KeyControl.h @@ -38,9 +38,17 @@ class VKeyControl public: VKeyControl() = default; virtual ~VKeyControl() = default; - virtual const std::string GetKeyName(void) { return "undefine"; } - virtual unsigned int GetStatusCheckPeriodMs(void) { return 0; } - virtual void KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs) {} + virtual const std::string GetKeyName(void) + { + return "undefine"; + } + virtual unsigned int GetStatusCheckPeriodMs(void) + { + return 0; + } + virtual void KeyEventTrigger(const std::string &keyName, const KeyEvent &event, const unsigned int &timeMs) + { + } }; class KeyControl : public VKeyControl, public std::enable_shared_from_this { diff --git a/utils/KeyControl/src/KeyControl.cpp b/utils/KeyControl/src/KeyControl.cpp index 93514af..9fce910 100644 --- a/utils/KeyControl/src/KeyControl.cpp +++ b/utils/KeyControl/src/KeyControl.cpp @@ -21,9 +21,16 @@ KeyControl::KeyControl() mPressingTime = KEY_NOT_PRESSING; mLongClickTime = 0; } -KeyControl::~KeyControl() {} -bool KeyControl::IsKeyPressing(void) { return mPressingTime >= KEY_PRESSING ? true : false; } -void KeyControl::UnInit(void) {} +KeyControl::~KeyControl() +{ +} +bool KeyControl::IsKeyPressing(void) +{ + return mPressingTime >= KEY_PRESSING ? true : false; +} +void KeyControl::UnInit(void) +{ +} void KeyControl::KeyHalEventHandle(const std::string &key, const KeyHalEvent &keyEvent) { if (KEY_PRESSING <= mPressingTime) { diff --git a/utils/LedControl/include/LedControl.h b/utils/LedControl/include/LedControl.h index dd3b9ae..c0c1a1a 100644 --- a/utils/LedControl/include/LedControl.h +++ b/utils/LedControl/include/LedControl.h @@ -44,20 +44,39 @@ class VSingleControl public: VSingleControl() = default; virtual ~VSingleControl() = default; - virtual StatusCode GetLedState(LedState &state) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } - virtual unsigned int GetKeepAliveTimeMs(void) { return KEEP_ALIVE_FOREVER; } - virtual unsigned int GetBlinkTimeMs(void) { return LED_NOT_BLINK; } + virtual StatusCode GetLedState(LedState &state) + { + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); + } + virtual unsigned int GetKeepAliveTimeMs(void) + { + return KEEP_ALIVE_FOREVER; + } + virtual unsigned int GetBlinkTimeMs(void) + { + return LED_NOT_BLINK; + } }; class VLedControl { public: VLedControl() = default; virtual ~VLedControl() = default; - virtual StatusCode SetLedState(const LedState &state) { return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); } - virtual void AddLedState(std::shared_ptr &control) {} - virtual void CheckState(const unsigned int &period) {} + virtual StatusCode SetLedState(const LedState &state) + { + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); + } + virtual void AddLedState(std::shared_ptr &control) + { + } + virtual void CheckState(const unsigned int &period) + { + } // virtual void SetHalLedState(const VirtualLedState &state) {} - virtual std::string GetLedName(void) { return "undefine"; } + virtual std::string GetLedName(void) + { + return "undefine"; + } }; class LedControl : virtual public VLedControl { diff --git a/utils/LinuxApi/src/LinuxApi.c b/utils/LinuxApi/src/LinuxApi.c index d49a908..337e6c3 100644 --- a/utils/LinuxApi/src/LinuxApi.c +++ b/utils/LinuxApi/src/LinuxApi.c @@ -22,15 +22,30 @@ #include #include -int fx_system(const char *command) { return system(command); } -int fx_open(const char *pathname, int flags) { return open(pathname, flags); } -int fx_tcgetattr(int fd, struct termios *termios_p) { return tcgetattr(fd, termios_p); } +int fx_system(const char *command) +{ + return system(command); +} +int fx_open(const char *pathname, int flags) +{ + return open(pathname, flags); +} +int fx_tcgetattr(int fd, struct termios *termios_p) +{ + return tcgetattr(fd, termios_p); +} int fx_tcsetattr(int fd, int optional_actions, const struct termios *termios_p) { return tcsetattr(fd, optional_actions, termios_p); } -ssize_t fx_write(int fd, const void *buf, size_t count) { return write(fd, buf, count); } -ssize_t fx_read(int fd, void *buf, size_t count) { return read(fd, buf, count); } +ssize_t fx_write(int fd, const void *buf, size_t count) +{ + return write(fd, buf, count); +} +ssize_t fx_read(int fd, void *buf, size_t count) +{ + return read(fd, buf, count); +} int fx_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout) { return select(nfds, readfds, writefds, exceptfds, timeout); diff --git a/utils/McuProtocol/include/McuProtocol.h b/utils/McuProtocol/include/McuProtocol.h index 87bee72..6ed055d 100644 --- a/utils/McuProtocol/include/McuProtocol.h +++ b/utils/McuProtocol/include/McuProtocol.h @@ -39,7 +39,9 @@ class ProtocolContext : public VProtocolContext { public: - ProtocolContext(T &value) : mData(value) {} + ProtocolContext(T &value) : mData(value) + { + } virtual ~ProtocolContext() = default; public: @@ -48,7 +50,9 @@ public: class SingleMcuPacket { public: - SingleMcuPacket(const void *buf, const size_t &length) : mBuf(buf), mLength(length) {} + SingleMcuPacket(const void *buf, const size_t &length) : mBuf(buf), mLength(length) + { + } ~SingleMcuPacket() = default; const void *mBuf; const size_t mLength; @@ -60,7 +64,10 @@ public: virtual ~VProtocolBase() = default; protected: - virtual std::shared_ptr SharedFromThis(void) { return std::make_shared(); } + virtual std::shared_ptr SharedFromThis(void) + { + return std::make_shared(); + } virtual size_t WriteData(const void *buff, const size_t buffLength, std::shared_ptr &context, const unsigned int &serialNumber) { @@ -68,12 +75,17 @@ protected: } protected: - virtual size_t GetKeyHeadLength(void) { return 0; } + virtual size_t GetKeyHeadLength(void) + { + return 0; + } virtual StatusCode GetDataLength(const void *keyHead, const size_t &headLength, size_t &dataLength) { return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); } - virtual void PushMcuData(const void *buf, const size_t &length) {} + virtual void PushMcuData(const void *buf, const size_t &length) + { + } public: }; @@ -88,15 +100,21 @@ class OtherSideReply public: OtherSideReply() = default; virtual ~OtherSideReply() = default; - virtual void GetIpcMissionReply(const unsigned int &serialNumber, const unsigned char &mission) {} - virtual void OnlyResultReply(const unsigned int &serialNumber, const ReplyResult &result) {} + virtual void GetIpcMissionReply(const unsigned int &serialNumber, const unsigned char &mission) + { + } + virtual void OnlyResultReply(const unsigned int &serialNumber, const ReplyResult &result) + { + } }; class OtherSideAsk { public: OtherSideAsk() = default; virtual ~OtherSideAsk() = default; - virtual void OtherSideSendIpcMission(const unsigned int &serialNumber, const unsigned char &mission) {} + virtual void OtherSideSendIpcMission(const unsigned int &serialNumber, const unsigned char &mission) + { + } }; class VProtocolRecv : public OtherSideReply, public OtherSideAsk { diff --git a/utils/McuProtocol/src/LittleEndianHandle.cpp b/utils/McuProtocol/src/LittleEndianHandle.cpp index b7ba7a4..63f9f42 100644 --- a/utils/McuProtocol/src/LittleEndianHandle.cpp +++ b/utils/McuProtocol/src/LittleEndianHandle.cpp @@ -33,7 +33,10 @@ void LittleEndianHandle::BigEndianConversion(ProtocolPacket &packet) packet.mCheckCode = htons(packet.mCheckCode); packet.mSerialNumber = htonl(packet.mSerialNumber); } -short LittleEndianHandle::BigEndianConversion(const short &number) { return htons(number); } +short LittleEndianHandle::BigEndianConversion(const short &number) +{ + return htons(number); +} void LittleEndianHandle::HostByteOrderConversion(ProtocolPacket &packet) { packet.mHead = ntohs(packet.mHead); diff --git a/utils/McuProtocol/src/McuProtocol.cpp b/utils/McuProtocol/src/McuProtocol.cpp index f3a0a9a..5e811d4 100644 --- a/utils/McuProtocol/src/McuProtocol.cpp +++ b/utils/McuProtocol/src/McuProtocol.cpp @@ -30,7 +30,9 @@ const StatusCode McuProtocol::Init(void) constexpr int THREAD_SHARING = 0; constexpr int INITIAL_VALUE_OF_SEMAPHORE = 0; sem_init(&mSem, THREAD_SHARING, INITIAL_VALUE_OF_SEMAPHORE); - auto dataHandleThread = [](std::shared_ptr handle) { handle->DataHandleThread(); }; + auto dataHandleThread = [](std::shared_ptr handle) { + handle->DataHandleThread(); + }; std::shared_ptr handle = std::dynamic_pointer_cast(SharedFromThis()); mDataHandleThread = std::thread(dataHandleThread, handle); std::shared_ptr reply = std::dynamic_pointer_cast(SharedFromThis()); @@ -153,7 +155,10 @@ void McuProtocol::ReplyOtherSideSendIpcMission(const ReplyResult &result, const WriteProtocolData( handle->GetProtocolDataBuff(), handle->GetProtocolDataLength(), NULL_CONTEXT, handle->GetSerialNumber()); } -size_t McuProtocol::GetKeyHeadLength(void) { return ProtocolHandle::GetKeyHeadLength(); } +size_t McuProtocol::GetKeyHeadLength(void) +{ + return ProtocolHandle::GetKeyHeadLength(); +} StatusCode McuProtocol::GetDataLength(const void *keyHead, const size_t &headLength, size_t &dataLength) { return ProtocolHandle::GetDataLength(keyHead, headLength, dataLength); diff --git a/utils/McuProtocol/src/McuProtocolMakePtr.cpp b/utils/McuProtocol/src/McuProtocolMakePtr.cpp index 8c448bf..a1c7625 100644 --- a/utils/McuProtocol/src/McuProtocolMakePtr.cpp +++ b/utils/McuProtocol/src/McuProtocolMakePtr.cpp @@ -30,7 +30,10 @@ std::shared_ptr &McuProtocolMakePtr::GetInstance(std::shared } return instance; } -McuProtocolMakePtr::McuProtocolMakePtr() { mByteOrder = 0x00; } +McuProtocolMakePtr::McuProtocolMakePtr() +{ + mByteOrder = 0x00; +} const StatusCode McuProtocolMakePtr::CreateProtocolHandle(std::shared_ptr &impl, const std::shared_ptr ¶m) { diff --git a/utils/McuProtocol/src/ProtocolHandle.cpp b/utils/McuProtocol/src/ProtocolHandle.cpp index 3897650..3af7d6c 100644 --- a/utils/McuProtocol/src/ProtocolHandle.cpp +++ b/utils/McuProtocol/src/ProtocolHandle.cpp @@ -265,7 +265,10 @@ void ProtocolHandle::ProtocolAnalysis(const void *data, const size_t &length) handle->AnalyzeProtocolPacket(); } } -size_t ProtocolHandle::GetKeyHeadLength(void) { return KEY_HEAD_LENGTH; } +size_t ProtocolHandle::GetKeyHeadLength(void) +{ + return KEY_HEAD_LENGTH; +} StatusCode ProtocolHandle::GetDataLength(const void *keyHead, const size_t &headLength, size_t &dataLength) { if (KEY_HEAD_LENGTH != headLength) { diff --git a/utils/McuProtocol/src/ProtocolHandle.h b/utils/McuProtocol/src/ProtocolHandle.h index 8a1c38a..7089493 100644 --- a/utils/McuProtocol/src/ProtocolHandle.h +++ b/utils/McuProtocol/src/ProtocolHandle.h @@ -104,7 +104,9 @@ class ProtocolParam : public VProtocolParam { public: - ProtocolParam(const PROTOCOL_COMMAND &command, T &value) : VProtocolParam(command), mData(value) {} + ProtocolParam(const PROTOCOL_COMMAND &command, T &value) : VProtocolParam(command), mData(value) + { + } virtual ~ProtocolParam() = default; public: @@ -126,9 +128,18 @@ public: ProtocolHandle(const std::shared_ptr ¶m); ProtocolHandle(const void *data, const size_t &length); virtual ~ProtocolHandle(); - void *GetProtocolDataBuff(void) { return mProtocolData; } - size_t GetProtocolDataLength(void) { return mProtocolDataLength; } - unsigned int GetSerialNumber(void) { return mProtocolSerialNumber; } + void *GetProtocolDataBuff(void) + { + return mProtocolData; + } + size_t GetProtocolDataLength(void) + { + return mProtocolDataLength; + } + unsigned int GetSerialNumber(void) + { + return mProtocolSerialNumber; + } /** * @brief These functions assemble scattered data into continuous memory protocol packets and complete the sending @@ -172,9 +183,16 @@ private: void AnalyzeOtherSideSendIpcMissionPacket(const ProtocolPacket &packet); private: - virtual void BigEndianConversion(ProtocolPacket &packet) {} - virtual short BigEndianConversion(const short &number) { return number; } - virtual void HostByteOrderConversion(ProtocolPacket &packet) {} + virtual void BigEndianConversion(ProtocolPacket &packet) + { + } + virtual short BigEndianConversion(const short &number) + { + return number; + } + virtual void HostByteOrderConversion(ProtocolPacket &packet) + { + } virtual bool CheckoutTheCheckCode(const ProtocolPacket &packet); protected: diff --git a/utils/MediaAdapter/src/IMediaAdapter.cpp b/utils/MediaAdapter/src/IMediaAdapter.cpp index 38efd43..c040413 100644 --- a/utils/MediaAdapter/src/IMediaAdapter.cpp +++ b/utils/MediaAdapter/src/IMediaAdapter.cpp @@ -16,7 +16,10 @@ #include "ILog.h" #include static const char *MEDIA_ADAPTER_NAME = "media_adapter"; -const char inline *GetMediaAdapterModuleName(void) { return MEDIA_ADAPTER_NAME; } +const char inline *GetMediaAdapterModuleName(void) +{ + return MEDIA_ADAPTER_NAME; +} std::shared_ptr *NewIMediaAdapter(const SENSOR_NUM &num) { LogInfo("Create the uart device object.\n"); diff --git a/utils/MediaAdapter/src/IMediaAdapter.h b/utils/MediaAdapter/src/IMediaAdapter.h index 371030d..7835c54 100644 --- a/utils/MediaAdapter/src/IMediaAdapter.h +++ b/utils/MediaAdapter/src/IMediaAdapter.h @@ -21,7 +21,9 @@ class IMediaAdapter public: IMediaAdapter() = default; virtual ~IMediaAdapter() = default; - virtual void TestApi(void) {} + virtual void TestApi(void) + { + } }; typedef struct media_adapter_header { diff --git a/utils/MediaAdapter/src/MediaAdapter.cpp b/utils/MediaAdapter/src/MediaAdapter.cpp index 9924f47..7f0a49e 100644 --- a/utils/MediaAdapter/src/MediaAdapter.cpp +++ b/utils/MediaAdapter/src/MediaAdapter.cpp @@ -15,7 +15,10 @@ #include "MediaAdapter.h" #include "ILog.h" #include "IMediaAdapter.h" -void *CreateMediaAdapter(const SENSOR_NUM num) { return NewIMediaAdapter(num); } +void *CreateMediaAdapter(const SENSOR_NUM num) +{ + return NewIMediaAdapter(num); +} static bool ObjectCheck(void *object) { if (nullptr == object) { diff --git a/utils/Servers/src/curl_serve.c b/utils/Servers/src/curl_serve.c index 8d2e27b..92ae975 100644 --- a/utils/Servers/src/curl_serve.c +++ b/utils/Servers/src/curl_serve.c @@ -14,8 +14,14 @@ */ #include "curl_serve.h" static ServerParam gCurlServe; -void SetVerboseLog(LogFlag flag) { gCurlServe.logFlag = flag; } -void SetSslVerify(SslFlag flag) { gCurlServe.sslVerifyFlag = flag; } +void SetVerboseLog(LogFlag flag) +{ + gCurlServe.logFlag = flag; +} +void SetSslVerify(SslFlag flag) +{ + gCurlServe.sslVerifyFlag = flag; +} CURL *CurlEasyMake(void) { CURL *curl; diff --git a/utils/Servers/src/servers.c b/utils/Servers/src/servers.c index 8ccc7cc..e827197 100644 --- a/utils/Servers/src/servers.c +++ b/utils/Servers/src/servers.c @@ -26,7 +26,9 @@ void ServersInit(ServerParam init) SetVerboseLog(init.logFlag); SetSslVerify(init.sslVerifyFlag); } -void ServersUnInit(void) {} +void ServersUnInit(void) +{ +} void HttpGet(ServerHttp *param) { LogInfo("HttpGet\n"); @@ -105,7 +107,10 @@ void DeleteServersFtp(ServerFtp *ptr) free(ptr); } } -void FtpServersCheck(ServerFtp *param) { FtpServersCheckConnect(param); } +void FtpServersCheck(ServerFtp *param) +{ + FtpServersCheckConnect(param); +} void FtpDownload(ServerFtp *param) { LogInfo("FtpDownload\n"); diff --git a/utils/SharedData/include/SharedData.h b/utils/SharedData/include/SharedData.h index 13c804d..347feee 100644 --- a/utils/SharedData/include/SharedData.h +++ b/utils/SharedData/include/SharedData.h @@ -45,7 +45,10 @@ static inline const StatusCode IMakeSharedData(SharedData *object, const unsigne { return object->mMakeSharedData(object, readableSize, writableSize); } -static inline const StatusCode ICleanSharedData(SharedData *object) { return object->mCleanSharedData(object); } +static inline const StatusCode ICleanSharedData(SharedData *object) +{ + return object->mCleanSharedData(object); +} static inline const StatusCode IGetReadableData(SharedData *object, void *buf, const unsigned int bufLength) { return object->mGetReadableData(object, buf, bufLength); @@ -54,7 +57,10 @@ static inline void ISetWritableData(SharedData *object, void *buf, const unsigne { object->mSetWritableData(object, buf, bufLength); } -static inline void IShareDataFree(SharedData *object) { object->mFree(object); } +static inline void IShareDataFree(SharedData *object) +{ + object->mFree(object); +} #ifdef __cplusplus } #endif diff --git a/utils/StatusCode/include/StatusCode.h b/utils/StatusCode/include/StatusCode.h index c36c9bc..4700d39 100644 --- a/utils/StatusCode/include/StatusCode.h +++ b/utils/StatusCode/include/StatusCode.h @@ -35,9 +35,18 @@ typedef struct status_code const long int mStatusCode; } StatusCode; const StatusCode CreateStatusCode(const long int code); -static inline const char *PrintStringCode(const StatusCode code) { return code.mPrintStringCode(code); } -static inline bool IsCodeOK(const StatusCode code) { return STATUS_CODE_OK == code.mStatusCode ? true : false; } -static inline bool StatusCodeEqual(const StatusCode code, const char *value) { return code.mCodeEqual(code, value); } +static inline const char *PrintStringCode(const StatusCode code) +{ + return code.mPrintStringCode(code); +} +static inline bool IsCodeOK(const StatusCode code) +{ + return STATUS_CODE_OK == code.mStatusCode ? true : false; +} +static inline bool StatusCodeEqual(const StatusCode code, const char *value) +{ + return code.mCodeEqual(code, value); +} #ifdef __cplusplus } #endif diff --git a/utils/TcpModule/src/TcpModuleImpl.cpp b/utils/TcpModule/src/TcpModuleImpl.cpp index 3289f22..8d96ffe 100644 --- a/utils/TcpModule/src/TcpModuleImpl.cpp +++ b/utils/TcpModule/src/TcpModuleImpl.cpp @@ -16,7 +16,10 @@ #include "ILog.h" #include static const char *TCP_MODULE_NAME = "tcp_module"; -const char *GetTcpModuleName(void) { return TCP_MODULE_NAME; } +const char *GetTcpModuleName(void) +{ + return TCP_MODULE_NAME; +} void *NewTcpModuleImpl(const TcpPram &tcpParam) { if (nullptr == tcpParam.mIp) { @@ -31,4 +34,7 @@ void *NewTcpModuleImpl(const TcpPram &tcpParam) impl->mTcpImpl = std::make_shared(tcpParam); return (void *)(((char *)impl) + sizeof(TcpModuleHeader)); } -void *NewTcpServer(const TcpPram &tcpParam) { return nullptr; } \ No newline at end of file +void *NewTcpServer(const TcpPram &tcpParam) +{ + return nullptr; +} \ No newline at end of file diff --git a/utils/UartDevice/src/UartDevice.cpp b/utils/UartDevice/src/UartDevice.cpp index 16236f3..dae1279 100644 --- a/utils/UartDevice/src/UartDevice.cpp +++ b/utils/UartDevice/src/UartDevice.cpp @@ -16,7 +16,10 @@ #include "ILog.h" #include "StatusCode.h" #include "UartDeviceImpl.h" -void *CreateUartDevice(const UartInfo info) { return NewUartDeviceImpl(info); } +void *CreateUartDevice(const UartInfo info) +{ + return NewUartDeviceImpl(info); +} const StatusCode IUartOpen(void *object) { if (nullptr == object) { diff --git a/utils/UartDevice/src/UartDeviceImpl.cpp b/utils/UartDevice/src/UartDeviceImpl.cpp index 31b2532..94f4f17 100644 --- a/utils/UartDevice/src/UartDeviceImpl.cpp +++ b/utils/UartDevice/src/UartDeviceImpl.cpp @@ -26,8 +26,14 @@ #include constexpr int INVALID_FD = -1; static const char *UART_DEVICE_NAME = "uart_device"; -const char *GetUartDeviceModuleName(void) { return UART_DEVICE_NAME; } -UartDeviceImpl::UartDeviceImpl(const UartInfo &uatrInfo) : mUatrInfo(uatrInfo) { mFd = -1; } +const char *GetUartDeviceModuleName(void) +{ + return UART_DEVICE_NAME; +} +UartDeviceImpl::UartDeviceImpl(const UartInfo &uatrInfo) : mUatrInfo(uatrInfo) +{ + mFd = -1; +} const StatusCode UartDeviceImpl::UartOpen(void) { mFd = fx_open(mUatrInfo.mDevice, O_RDWR | O_NOCTTY | O_NONBLOCK); From ea21b9df91a18714845ca701e9b6c16905220cd6 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Wed, 27 Mar 2024 21:54:33 +0800 Subject: [PATCH 17/19] Improve. --- .../StateMachine/include/IStateMachine.h | 50 +++++-------------- middleware/StateMachine/src/IStateMachine.cpp | 39 +++++++++++++++ 2 files changed, 51 insertions(+), 38 deletions(-) diff --git a/middleware/StateMachine/include/IStateMachine.h b/middleware/StateMachine/include/IStateMachine.h index bddb7d4..6488576 100644 --- a/middleware/StateMachine/include/IStateMachine.h +++ b/middleware/StateMachine/include/IStateMachine.h @@ -45,10 +45,7 @@ public: virtual void GoInState() = 0; virtual void GoOutState() = 0; virtual bool ExecuteStateMsg(VStateMachineData *msg) = 0; - std::string GetStateName() - { - return mStateName; - } + std::string GetStateName(); private: std::string mStateName; @@ -58,41 +55,18 @@ class VStateMachineHandle public: VStateMachineHandle() = default; virtual ~VStateMachineHandle() = default; - virtual bool InitialStateMachine() - { - return false; - } - virtual void StatePlus(State *state, State *upper) - { - } - virtual void SetCurrentState(State *firstState) - { - } - virtual void StartStateMachine() - { - } - virtual void SendMessage(int msgName) - { - } - virtual void StopHandlerThread() - { - } - virtual void SendMessage(int msgName, const std::shared_ptr &messageObj) - { - } + virtual bool InitialStateMachine(); + virtual void StatePlus(State *state, State *upper); + virtual void SetCurrentState(State *firstState); + virtual void StartStateMachine(); + virtual void SendMessage(int msgName); + virtual void StopHandlerThread(); + virtual void SendMessage(int msgName, const std::shared_ptr &messageObj); virtual void MessageExecutedLater(int msgName, const std::shared_ptr &messageObj, - int64_t delayTimeMs) - { - } - virtual void SwitchState(State *targetState) - { - } - virtual void StopTimer(int timerName) - { - } - virtual void DelayMessage(VStateMachineData *msg) - { - } + int64_t delayTimeMs); + virtual void SwitchState(State *targetState); + virtual void StopTimer(int timerName); + virtual void DelayMessage(VStateMachineData *msg); }; class IStateMachine { diff --git a/middleware/StateMachine/src/IStateMachine.cpp b/middleware/StateMachine/src/IStateMachine.cpp index 4bec08f..1af3d75 100644 --- a/middleware/StateMachine/src/IStateMachine.cpp +++ b/middleware/StateMachine/src/IStateMachine.cpp @@ -15,6 +15,45 @@ #include "IStateMachine.h" #include "ILog.h" #include +std::string State::GetStateName() +{ + return mStateName; +} +bool VStateMachineHandle::InitialStateMachine() +{ + return false; +} +void VStateMachineHandle::StatePlus(State *state, State *upper) +{ +} +void VStateMachineHandle::SetCurrentState(State *firstState) +{ +} +void VStateMachineHandle::StartStateMachine() +{ +} +void VStateMachineHandle::SendMessage(int msgName) +{ +} +void VStateMachineHandle::StopHandlerThread() +{ +} +void VStateMachineHandle::SendMessage(int msgName, const std::shared_ptr &messageObj) +{ +} +void VStateMachineHandle::MessageExecutedLater(int msgName, const std::shared_ptr &messageObj, + int64_t delayTimeMs) +{ +} +void VStateMachineHandle::SwitchState(State *targetState) +{ +} +void VStateMachineHandle::StopTimer(int timerName) +{ +} +void VStateMachineHandle::DelayMessage(VStateMachineData *msg) +{ +} std::shared_ptr &IStateMachine::GetInstance(std::shared_ptr *impl) { static std::shared_ptr instance = std::make_shared(); From 13cb172160f5517e8ae80e069a5fb77ccb7f211f Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Tue, 2 Apr 2024 10:45:45 +0800 Subject: [PATCH 18/19] Improve:cmake build. --- CMakeLists.txt | 3 +++ build/global_config.cmake | 4 ++-- build/sdk_config.cmake | 2 +- external/httpserver.h-master/src/CMakeLists.txt | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a2678b0..2f54d44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,7 @@ cmake_minimum_required(VERSION 3.5.1) + +unset(CLANG_TIDY_EXE CACHE) +set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_CURRENT_SOURCE_DIR}" CACHE STRING INTERNAL) include(build/global_config.cmake) project(fancycode) diff --git a/build/global_config.cmake b/build/global_config.cmake index 1390e4a..1dbbefc 100755 --- a/build/global_config.cmake +++ b/build/global_config.cmake @@ -1,6 +1,6 @@ set(DEFINE_LINUX "linux") -set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR}") -set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR_IPCSDK}${SUBMODULE_PATH_OF_IPC_SDK}") +# set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR}") +# set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR_IPCSDK}${SUBMODULE_PATH_OF_IPC_SDK}") set(EXEC_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/bin") set(LIBS_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/libs") set(EXTERNAL_LIBS_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/libs/external") diff --git a/build/sdk_config.cmake b/build/sdk_config.cmake index acde768..16db45b 100755 --- a/build/sdk_config.cmake +++ b/build/sdk_config.cmake @@ -1,4 +1,4 @@ -include(${CMAKE_SOURCE_DIR}${SUBMODULE_PATH_OF_IPC_SDK}/build/global_config.cmake) +include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) diff --git a/external/httpserver.h-master/src/CMakeLists.txt b/external/httpserver.h-master/src/CMakeLists.txt index 07b9240..382c717 100644 --- a/external/httpserver.h-master/src/CMakeLists.txt +++ b/external/httpserver.h-master/src/CMakeLists.txt @@ -67,7 +67,7 @@ if(EPOLL) target_compile_definitions(httpsrv PRIVATE EPOLL) endif() -message("${PLATFORM_PATH}/cmake-shell/external${SUBMODULE_PATH_OF_IPC_SDK}/httpserver.h-master/src/libhttpsrv.a") +message("${PLATFORM_PATH}/cmake-shell${SUBMODULE_PATH_OF_IPC_SDK}/httpserver.h-master/src/libhttpsrv.a") add_custom_command( TARGET httpsrv POST_BUILD From b8cd52e849309cebd63e5cf82fc5a5c8ba14cec3 Mon Sep 17 00:00:00 2001 From: Fancy code <258828110.@qq.com> Date: Sun, 7 Apr 2024 19:26:15 +0800 Subject: [PATCH 19/19] Improve:ConfigBase module. --- middleware/IpcConfig/CMakeLists.txt | 2 +- middleware/IpcConfig/include/IIpcConfig.h | 105 ++----- middleware/IpcConfig/src/IIpcConfig.cpp | 82 ++++++ middleware/IpcConfig/src/IpcConfig.cpp | 45 ++- middleware/IpcConfig/src/IpcConfig.h | 4 +- test/middleware/IpcConfig/CMakeLists.txt | 4 - utils/CMakeLists.txt | 2 +- utils/Config/CMakeLists.txt | 2 - utils/ConfigBase/CMakeLists.txt | 79 +++++ utils/ConfigBase/build/config_base.cmake | 12 + utils/ConfigBase/include/ConfigBase.h | 52 ++++ utils/ConfigBase/src/ConfigBase.cpp | 178 ++++++++++++ utils/ConfigBase/src/ConfigBaseCode.c | 53 ++++ utils/ConfigBase/src/ConfigBaseCode.h | 29 ++ utils/ConfigBase/src/ConfigBaseImpl.cpp | 339 ++++++++++++++++++++++ utils/ConfigBase/src/ConfigBaseImpl.h | 50 ++++ utils/ConfigBase/src/IConfigBase.cpp | 119 ++++++++ utils/ConfigBase/src/IConfigBase.h | 57 ++++ 18 files changed, 1107 insertions(+), 107 deletions(-) create mode 100644 utils/ConfigBase/CMakeLists.txt create mode 100644 utils/ConfigBase/build/config_base.cmake create mode 100644 utils/ConfigBase/include/ConfigBase.h create mode 100644 utils/ConfigBase/src/ConfigBase.cpp create mode 100644 utils/ConfigBase/src/ConfigBaseCode.c create mode 100644 utils/ConfigBase/src/ConfigBaseCode.h create mode 100644 utils/ConfigBase/src/ConfigBaseImpl.cpp create mode 100644 utils/ConfigBase/src/ConfigBaseImpl.h create mode 100644 utils/ConfigBase/src/IConfigBase.cpp create mode 100644 utils/ConfigBase/src/IConfigBase.h diff --git a/middleware/IpcConfig/CMakeLists.txt b/middleware/IpcConfig/CMakeLists.txt index 9e378f0..9a987b5 100644 --- a/middleware/IpcConfig/CMakeLists.txt +++ b/middleware/IpcConfig/CMakeLists.txt @@ -8,7 +8,7 @@ include_directories( ./include ${UTILS_SOURCE_PATH}/StatusCode/include ${UTILS_SOURCE_PATH}/Log/include - ${UTILS_SOURCE_PATH}/Config/include + ${UTILS_SOURCE_PATH}/ConfigBase/include ) #do not rely on any other library #link_directories( diff --git a/middleware/IpcConfig/include/IIpcConfig.h b/middleware/IpcConfig/include/IIpcConfig.h index 4f72be3..732f1b3 100644 --- a/middleware/IpcConfig/include/IIpcConfig.h +++ b/middleware/IpcConfig/include/IIpcConfig.h @@ -96,89 +96,30 @@ class IIpcConfig public: IIpcConfig() = default; virtual ~IIpcConfig() = default; - virtual const StatusCode ConfigFileSave(void) - { - return CreateStatusCode(STATUS_CODE_OK); - } static std::shared_ptr &GetInstance(std::shared_ptr *impl = nullptr); - virtual const StatusCode Init(void) - { - return CreateStatusCode(STATUS_CODE_OK); - } - virtual const StatusCode UnInit(void) - { - return CreateStatusCode(STATUS_CODE_OK); - } - virtual const int GetInt(const IpcConfigKey &key) - { - return -1; - } - virtual void SetInt(const IpcConfigKey &key, const int &value) - { - } - virtual const short GetShort(const IpcConfigKey &key) - { - return -1; - } - virtual void SetShort(const IpcConfigKey &key, const short &value) - { - } - virtual const long GetLong(const IpcConfigKey &key) - { - return -1; - } - virtual void SetLong(const IpcConfigKey &key, const long &value) - { - } - virtual const long long GetLLong(const IpcConfigKey &key) - { - return -1; - } - virtual void SetLLong(const IpcConfigKey &key, const long long &value) - { - } - virtual const char GetChar(const IpcConfigKey &key) - { - return '\0'; - } - virtual void SetChar(const IpcConfigKey &key, const char &value) - { - } - virtual const float GetFloat(const IpcConfigKey &key) - { - return -1.0; - } - virtual void SetFloat(const IpcConfigKey &key, const float &value) - { - } - virtual const double GetDouble(const IpcConfigKey &key) - { - return -1.0; - } - virtual void SetDouble(const IpcConfigKey &key, const double &value) - { - } - virtual const long double GetLongDouble(const IpcConfigKey &key) - { - return -1.0; - } - virtual void SetLongDouble(const IpcConfigKey &key, const long double &value) - { - } - virtual const bool GetBool(const IpcConfigKey &key) - { - return true; - } - virtual void SetBool(const IpcConfigKey &key, const bool &value) - { - } - virtual const std::string GetString(const IpcConfigKey &key) - { - return "undefine"; - } - virtual void SetString(const IpcConfigKey &key, const std::string string) - { - } + virtual const StatusCode ConfigFileSave(void); + virtual const StatusCode Init(void); + virtual const StatusCode UnInit(void); + virtual const int GetInt(const IpcConfigKey &key); + virtual void SetInt(const IpcConfigKey &key, const int &value); + virtual const short GetShort(const IpcConfigKey &key); + virtual void SetShort(const IpcConfigKey &key, const short &value); + virtual const long GetLong(const IpcConfigKey &key); + virtual void SetLong(const IpcConfigKey &key, const long &value); + virtual const long long GetLLong(const IpcConfigKey &key); + virtual void SetLLong(const IpcConfigKey &key, const long long &value); + virtual const char GetChar(const IpcConfigKey &key); + virtual void SetChar(const IpcConfigKey &key, const char &value); + virtual const float GetFloat(const IpcConfigKey &key); + virtual void SetFloat(const IpcConfigKey &key, const float &value); + virtual const double GetDouble(const IpcConfigKey &key); + virtual void SetDouble(const IpcConfigKey &key, const double &value); + virtual const long double GetLongDouble(const IpcConfigKey &key); + virtual void SetLongDouble(const IpcConfigKey &key, const long double &value); + virtual const bool GetBool(const IpcConfigKey &key); + virtual void SetBool(const IpcConfigKey &key, const bool &value); + virtual const std::string GetString(const IpcConfigKey &key); + virtual void SetString(const IpcConfigKey &key, const std::string string); }; bool CreateIpcConfig(void); #endif \ No newline at end of file diff --git a/middleware/IpcConfig/src/IIpcConfig.cpp b/middleware/IpcConfig/src/IIpcConfig.cpp index 422240a..c83c10c 100644 --- a/middleware/IpcConfig/src/IIpcConfig.cpp +++ b/middleware/IpcConfig/src/IIpcConfig.cpp @@ -27,4 +27,86 @@ std::shared_ptr &IIpcConfig::GetInstance(std::shared_ptr } } return instance; +} +const StatusCode IIpcConfig::ConfigFileSave(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +const StatusCode IIpcConfig::Init(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +const StatusCode IIpcConfig::UnInit(void) +{ + return CreateStatusCode(STATUS_CODE_OK); +} +const int IIpcConfig::GetInt(const IpcConfigKey &key) +{ + return -1; +} +void IIpcConfig::SetInt(const IpcConfigKey &key, const int &value) +{ +} +const short IIpcConfig::GetShort(const IpcConfigKey &key) +{ + return -1; +} +void IIpcConfig::SetShort(const IpcConfigKey &key, const short &value) +{ +} +const long IIpcConfig::GetLong(const IpcConfigKey &key) +{ + return -1; +} +void IIpcConfig::SetLong(const IpcConfigKey &key, const long &value) +{ +} +const long long IIpcConfig::GetLLong(const IpcConfigKey &key) +{ + return -1; +} +void IIpcConfig::SetLLong(const IpcConfigKey &key, const long long &value) +{ +} +const char IIpcConfig::GetChar(const IpcConfigKey &key) +{ + return '\0'; +} +void IIpcConfig::SetChar(const IpcConfigKey &key, const char &value) +{ +} +const float IIpcConfig::GetFloat(const IpcConfigKey &key) +{ + return -1.0; +} +void IIpcConfig::SetFloat(const IpcConfigKey &key, const float &value) +{ +} +const double IIpcConfig::GetDouble(const IpcConfigKey &key) +{ + return -1.0; +} +void IIpcConfig::SetDouble(const IpcConfigKey &key, const double &value) +{ +} +const long double IIpcConfig::GetLongDouble(const IpcConfigKey &key) +{ + return -1.0; +} +void IIpcConfig::SetLongDouble(const IpcConfigKey &key, const long double &value) +{ +} +const bool IIpcConfig::GetBool(const IpcConfigKey &key) +{ + return true; +} +void IIpcConfig::SetBool(const IpcConfigKey &key, const bool &value) +{ +} +const std::string IIpcConfig::GetString(const IpcConfigKey &key) +{ + return "undefine"; +} +void IIpcConfig::SetString(const IpcConfigKey &key, const std::string string) +{ } \ No newline at end of file diff --git a/middleware/IpcConfig/src/IpcConfig.cpp b/middleware/IpcConfig/src/IpcConfig.cpp index cc45638..b673908 100644 --- a/middleware/IpcConfig/src/IpcConfig.cpp +++ b/middleware/IpcConfig/src/IpcConfig.cpp @@ -143,7 +143,7 @@ void IpcConfig::SetInt(const IpcConfigKey &key, const int &value) iter = mCfgMapInt.find(key); if (iter != mCfgMapInt.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetInt(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -168,7 +168,7 @@ void IpcConfig::SetShort(const IpcConfigKey &key, const short &value) iter = mCfgMapShort.find(key); if (iter != mCfgMapShort.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetShort(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -193,7 +193,7 @@ void IpcConfig::SetLong(const IpcConfigKey &key, const long &value) iter = mCfgMapLong.find(key); if (iter != mCfgMapLong.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetLong(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -218,7 +218,7 @@ void IpcConfig::SetLLong(const IpcConfigKey &key, const long long &value) iter = mCfgMapLLong.find(key); if (iter != mCfgMapLLong.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetLLong(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -243,7 +243,7 @@ void IpcConfig::SetChar(const IpcConfigKey &key, const char &character) iter = mCfgMapChar.find(key); if (iter != mCfgMapChar.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = character; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetChar(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -268,7 +268,7 @@ void IpcConfig::SetFloat(const IpcConfigKey &key, const float &value) iter = mCfgMapFloat.find(key); if (iter != mCfgMapFloat.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetFloat(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -293,7 +293,7 @@ void IpcConfig::SetDouble(const IpcConfigKey &key, const double &value) iter = mCfgMapDouble.find(key); if (iter != mCfgMapDouble.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetDouble(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -341,7 +341,7 @@ void IpcConfig::SetBool(const IpcConfigKey &key, const bool &value) iter = mCfgMapBool.find(key); if (iter != mCfgMapBool.end() && CHECK_MAP(iter->second)) { iter->second.begin()->second.get() = value; - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetBool(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -367,7 +367,7 @@ void IpcConfig::SetString(const IpcConfigKey &key, const std::string string) iter = mCfgMapString.find(key); if (iter != mCfgMapString.end() && CHECK_MAP(iter->second)) { strncpy(iter->second.begin()->second, string.c_str(), sizeof(CHAR_STRING)); // const std::strinbg --> char[] - const char *name = iter->second.begin()->first.c_str(); // const std::strinbg --> const char * + const char *name = iter->second.begin()->first.c_str(); ConfigSetString(mCfg, name, iter->second.begin()->second); mCfgChanged = CONFIG_HAS_CHANGED; } @@ -402,7 +402,7 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetInt(mCfg, "burst_photo_interval", mAllData.burstPhotoInterval); } - const char *imageSizeString = NULL; + const char *imageSizeString = nullptr; StatusCode imageSizeCode = ConfigGetString(mCfg, "image_size", &(imageSizeString)); if (StatusCodeEqual(imageSizeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { LogWarning("image_size doesn't exist, will make it as default.\n"); @@ -412,7 +412,12 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetString(mCfg, "image_size", mAllData.imageSize); } else { - strncpy(mAllData.imageSize, imageSizeString, sizeof(mAllData.imageSize)); + if (nullptr != imageSizeString) { + strncpy(mAllData.imageSize, imageSizeString, sizeof(mAllData.imageSize)); + } + else { + LogError("image_size get failed.\n"); + } } StatusCode videoSizeCode = ConfigGetInt(mCfg, "video_size", &(mAllData.videoSize)); @@ -474,7 +479,7 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetBool(mCfg, "formatting_SD_card", mAllData.formattingSDCard); } - const char *darkModeString = NULL; + const char *darkModeString = nullptr; StatusCode darkModeCode = ConfigGetString(mCfg, "dark_mode", &(darkModeString)); if (StatusCodeEqual(darkModeCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { LogWarning("dark_mode doesn't exist, will make it as default.\n"); @@ -484,10 +489,15 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetString(mCfg, "dark_mode", mAllData.darkMode); } else { - strncpy(mAllData.darkMode, darkModeString, sizeof(mAllData.darkMode)); + if (nullptr != darkModeString) { + strncpy(mAllData.darkMode, darkModeString, sizeof(mAllData.darkMode)); + } + else { + LogError("dark_mode get failed.\n"); + } } - const char *workIntervalString = NULL; + const char *workIntervalString = nullptr; StatusCode workIntervalCode = ConfigGetString(mCfg, "work_interval", &(workIntervalString)); if (StatusCodeEqual(workIntervalCode, "CONFIG_CODE_PARAM_NOT_EXIST")) { LogWarning("work_interval doesn't exist, will make it as default.\n"); @@ -497,7 +507,12 @@ void IpcConfig::ReadAllConfigParameters(void) ConfigSetString(mCfg, "work_interval", mAllData.workingInterval); } else { - strncpy(mAllData.workingInterval, workIntervalString, sizeof(mAllData.workingInterval)); + if (nullptr != workIntervalString) { + strncpy(mAllData.workingInterval, workIntervalString, sizeof(mAllData.workingInterval)); + } + else { + LogError("work_interval get failed.\n"); + } } StatusCode shortCode = ConfigGetShort(mCfg, "test_short", &(mAllData.testShort)); diff --git a/middleware/IpcConfig/src/IpcConfig.h b/middleware/IpcConfig/src/IpcConfig.h index 7add2c5..9de09a4 100644 --- a/middleware/IpcConfig/src/IpcConfig.h +++ b/middleware/IpcConfig/src/IpcConfig.h @@ -14,7 +14,7 @@ */ #ifndef IPCCONFIG_H #define IPCCONFIG_H -#include "Config.h" +#include "ConfigBase.h" #include "IIpcConfig.h" #include "StatusCode.h" #include @@ -84,7 +84,7 @@ private: private: bool mCfgChanged; - VConfig *mCfg; + void *mCfg; Config_s mAllData; std::map>> mCfgMapInt; std::map>> mCfgMapShort; diff --git a/test/middleware/IpcConfig/CMakeLists.txt b/test/middleware/IpcConfig/CMakeLists.txt index 5712a80..888acfb 100644 --- a/test/middleware/IpcConfig/CMakeLists.txt +++ b/test/middleware/IpcConfig/CMakeLists.txt @@ -18,10 +18,6 @@ link_directories( ${EXTERNAL_LIBS_OUTPUT_PATH} ) - - - - aux_source_directory(. SRC_FILES_MAIN) aux_source_directory(./src SRC_FILES) diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt index 7607882..bd0ba16 100644 --- a/utils/CMakeLists.txt +++ b/utils/CMakeLists.txt @@ -1,6 +1,6 @@ # cmake_minimum_required(VERSION 2.8.0) -add_subdirectory(Config) +add_subdirectory(ConfigBase) add_subdirectory(StatusCode) add_subdirectory(Log) add_subdirectory(SharedData) diff --git a/utils/Config/CMakeLists.txt b/utils/Config/CMakeLists.txt index 0d04847..f6f1e99 100644 --- a/utils/Config/CMakeLists.txt +++ b/utils/Config/CMakeLists.txt @@ -14,8 +14,6 @@ include_directories( # ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs # ) - - aux_source_directory(./src SRC_FILES) set(TARGET_NAME ConfigBase) diff --git a/utils/ConfigBase/CMakeLists.txt b/utils/ConfigBase/CMakeLists.txt new file mode 100644 index 0000000..8fb7242 --- /dev/null +++ b/utils/ConfigBase/CMakeLists.txt @@ -0,0 +1,79 @@ + +include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake) +include(build/config_base.cmake) +set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH}) +set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH}) + +include_directories( + ./src + ./include + ${UTILS_SOURCE_PATH}/StatusCode/include + ${UTILS_SOURCE_PATH}/Log/include + ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib +) +# link_directories( +# ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs +# ) + +aux_source_directory(./src SRC_FILES) + +set(TARGET_NAME ConfigBase) +add_library(${TARGET_NAME} STATIC ${SRC_FILES}) +target_link_libraries(${TARGET_NAME} StatusCode Log libconfig.a) + +if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true") +add_custom_target( + ConfigBase_code_check + COMMAND ${CLANG_TIDY_EXE} + -checks='${CLANG_TIDY_CHECKS}' + --header-filter=.* + --system-headers=false + ${SRC_FILES} + ${CLANG_TIDY_CONFIG} + -p ${PLATFORM_PATH}/cmake-shell + WORKING_DIRECTORY ${UTILS_SOURCE_PATH}/ConfigBase +) +add_custom_command( + TARGET ${TARGET_NAME} + PRE_BUILD + COMMAND make ConfigBase_code_check + WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/ +) +file(GLOB_RECURSE HEADER_FILES *.h) +add_custom_target( + ConfigBase_code_format + COMMAND ${CLANG_FORMAT_EXE} + -style=file + -i ${SRC_FILES} ${HEADER_FILES} + WORKING_DIRECTORY ${UTILS_SOURCE_PATH}/ConfigBase +) +add_custom_command( + TARGET ${TARGET_NAME} + PRE_BUILD + COMMAND make ConfigBase_code_check + COMMAND make ConfigBase_code_format + WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/ +) +endif() + +# build libconfig before make libConfigBase.a +add_custom_command( + # OUTPUT ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a + OUTPUT ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a + COMMAND echo "Build libconfig-1.7.3. COMPILE_HOST = ${COMPILE_HOST}" + # COMMAND tar zxvf libconfig-1.7.3.tar.gz + COMMAND sh build_libconfig.sh ${TARGET_PLATFORM} ${COMPILE_HOST} + COMMAND mv ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a + WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/libconfig/ +) +add_custom_target( + libconfig.a + # DEPENDS ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs/libconfig.a + DEPENDS ${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig.a +) + +define_file_name(${TARGET_NAME}) +config_owner(${TARGET_NAME}) + +file(GLOB_RECURSE INSTALL_HEADER_FILES include/*.h) +install(FILES ${INSTALL_HEADER_FILES} DESTINATION include) \ No newline at end of file diff --git a/utils/ConfigBase/build/config_base.cmake b/utils/ConfigBase/build/config_base.cmake new file mode 100644 index 0000000..09434ee --- /dev/null +++ b/utils/ConfigBase/build/config_base.cmake @@ -0,0 +1,12 @@ +function(config_owner target) + get_target_property(source_files "${target}" SOURCES) + foreach(source_file ${source_files}) + get_property(defs SOURCE "${source_file}" + PROPERTY COMPILE_DEFINITIONS) + get_filename_component(file_name "${source_file}" NAME) + list(APPEND defs "CONFIG_OWNER") + set_property( + SOURCE "${source_file}" + PROPERTY COMPILE_DEFINITIONS ${defs}) + endforeach() +endfunction() \ No newline at end of file diff --git a/utils/ConfigBase/include/ConfigBase.h b/utils/ConfigBase/include/ConfigBase.h new file mode 100644 index 0000000..0f2a330 --- /dev/null +++ b/utils/ConfigBase/include/ConfigBase.h @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef CONFIG_BASE_H +#define CONFIG_BASE_H +#include "StatusCode.h" +#ifdef __cplusplus +extern "C" { +#endif +enum CONFIG_CODE +{ + CONFIG_CODE_PARAM_NOT_EXIST = STATUS_CODE_END, + CONFIG_CODE_END +}; +// StatusCode ConfigInit(void); +// StatusCode ConfigUnInit(void); +void *OpenConfigFile(const char *fileName); +StatusCode ConfigSaveFile(void *object); +void CloseConfigFile(void *object); +StatusCode ConfigGetInt(void *object, const char *name, int *value); +StatusCode ConfigSetInt(void *object, const char *name, const int value); +StatusCode ConfigGetShort(void *object, const char *name, short *value); +StatusCode ConfigSetShort(void *object, const char *name, const short value); +StatusCode ConfigGetLong(void *object, const char *name, long *value); +StatusCode ConfigSetLong(void *object, const char *name, const long value); +StatusCode ConfigGetLLong(void *object, const char *name, long long *value); +StatusCode ConfigSetLLong(void *object, const char *name, const long long value); +StatusCode ConfigGetChar(void *object, const char *name, char *value); +StatusCode ConfigSetChar(void *object, const char *name, const char value); +StatusCode ConfigGetBool(void *object, const char *name, bool *value); +StatusCode ConfigSetBool(void *object, const char *name, const bool value); +StatusCode ConfigGetFloat(void *object, const char *name, float *value); +StatusCode ConfigSetFloat(void *object, const char *name, const float value); +StatusCode ConfigGetDouble(void *object, const char *name, double *value); +StatusCode ConfigSetDouble(void *object, const char *name, const double value); +StatusCode ConfigGetString(void *object, const char *name, const char **value); +StatusCode ConfigSetString(void *object, const char *name, const char *value); +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/utils/ConfigBase/src/ConfigBase.cpp b/utils/ConfigBase/src/ConfigBase.cpp new file mode 100644 index 0000000..4a4bfbb --- /dev/null +++ b/utils/ConfigBase/src/ConfigBase.cpp @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "ConfigBase.h" +#include "IConfigBase.h" +#include "ILog.h" +static bool ObjectCheck(void *object) +{ + if (nullptr == object) { + LogError("nullptr object!\n"); + return false; + } + if (*((const char **)(((char *)object) - sizeof(IConfigBase))) != GetConfigBaseModuleName()) { + LogError("Illegal object!\n"); + return false; + } + return true; +} +void *OpenConfigFile(const char *fileName) +{ + std::shared_ptr *configObject = NewConfigBase(fileName); + if (nullptr != configObject) { + (*configObject)->OpenConfigFile(); + } + return configObject; +} +StatusCode ConfigSaveFile(void *object) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSaveFile(); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +void CloseConfigFile(void *object) +{ + if (ObjectCheck(object) == true) { + (*(std::shared_ptr *)object)->CloseConfigFile(); + (*(std::shared_ptr *)object).reset(); + free(((char *)object) - sizeof(IConfigBase)); // TODO: bug? + } +} +StatusCode ConfigGetInt(void *object, const char *name, int *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetInt(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetInt(void *object, const char *name, const int value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetInt(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetShort(void *object, const char *name, short *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetShort(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetShort(void *object, const char *name, const short value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetShort(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetLong(void *object, const char *name, long *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetLong(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetLong(void *object, const char *name, const long value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetLong(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetLLong(void *object, const char *name, long long *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetLLong(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetLLong(void *object, const char *name, const long long value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetLLong(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetChar(void *object, const char *name, char *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetChar(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetChar(void *object, const char *name, const char value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetChar(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetBool(void *object, const char *name, bool *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetBool(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetBool(void *object, const char *name, const bool value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetBool(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetFloat(void *object, const char *name, float *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetFloat(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetFloat(void *object, const char *name, const float value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetFloat(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetDouble(void *object, const char *name, double *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetDouble(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetDouble(void *object, const char *name, const double value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetDouble(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigGetString(void *object, const char *name, const char **value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigGetString(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} +StatusCode ConfigSetString(void *object, const char *name, const char *value) +{ + if (ObjectCheck(object) == true) { + return (*(std::shared_ptr *)object)->ConfigSetString(name, value); + } + return CreateStatusCode(STATUS_CODE_INVALID_PARAMENTER); +} \ No newline at end of file diff --git a/utils/ConfigBase/src/ConfigBaseCode.c b/utils/ConfigBase/src/ConfigBaseCode.c new file mode 100644 index 0000000..c6dac5a --- /dev/null +++ b/utils/ConfigBase/src/ConfigBaseCode.c @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "ConfigBaseCode.h" +#include "ILog.h" +#include +static const char *ConfigCodeString[CONFIG_CODE_END - STATUS_CODE_END + 1] = {"CONFIG_CODE_PARAM_NOT_EXIST", + "CONFIG_CODE_END"}; +static const char *PrintStringConfigCode(const StatusCode this) +{ + const int CODE_INDEX = this.mStatusCode - STATUS_CODE_END; + if (STATUS_CODE_END <= this.mStatusCode && this.mStatusCode <= CONFIG_CODE_END) { + LogInfo("Config code = [ %s ]\n", ConfigCodeString[CODE_INDEX]); + return ConfigCodeString[CODE_INDEX]; + } + LogError("Config code undefine.\n"); + return "Config code undefine.\n"; +} +static const bool CodeEqual(const StatusCode code, const char *value) +{ + if (memcmp(value, ConfigCodeString[code.mStatusCode - STATUS_CODE_END], strlen(value)) == 0) { + return true; + } + return false; +} +static StatusCode NewConfigCode(const long int code) +{ + StatusCode result = {PrintStringConfigCode, CodeEqual, code}; + return result; +} +const StatusCode CreateConfigCode(const long int code) +{ + // if (STATUS_CODE_OK <= code && code < STATUS_CODE_END) + // { + // return CreateStatusCode(code); + // } + if (STATUS_CODE_END <= code && code < CONFIG_CODE_END) { + return NewConfigCode(code); + } + LogError("undefined code.\n"); + return CreateStatusCode(STATUS_CODE_END); +} \ No newline at end of file diff --git a/utils/ConfigBase/src/ConfigBaseCode.h b/utils/ConfigBase/src/ConfigBaseCode.h new file mode 100644 index 0000000..4b070a1 --- /dev/null +++ b/utils/ConfigBase/src/ConfigBaseCode.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef CONFIG_BASE_CODE_H +#define CONFIG_BASE_CODE_H +#include "ConfigBase.h" +#include "StatusCode.h" +#ifdef __cplusplus +extern "C" { +#endif +#ifndef CONFIG_OWNER + #error This is internal file, never include it. +#endif +const StatusCode CreateConfigCode(const long int code); +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/utils/ConfigBase/src/ConfigBaseImpl.cpp b/utils/ConfigBase/src/ConfigBaseImpl.cpp new file mode 100644 index 0000000..aad8760 --- /dev/null +++ b/utils/ConfigBase/src/ConfigBaseImpl.cpp @@ -0,0 +1,339 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "ConfigBaseImpl.h" +#include "ConfigBaseCode.h" +#include "ILog.h" +#include +#include +#include + +constexpr int INVALID_RESULT = -1; +#define CHECK_SHORT_LIMIT(value) (value > SHRT_MAX ? false : (value < SHRT_MIN ? false : true)) +#define CHECK_LONG_LIMIT(value) (value > LONG_MAX ? false : (value < LONG_MIN ? false : true)) +#define CHECK_CHAR_LIMIT(value) (value > CHAR_MAX ? false : (value < CHAR_MIN ? false : true)) +#define CHECK_FLOAT_LIMIT(value) (fabs(value - ((float)value)) < 0.000001 ? false : true) + +ConfigBaseImpl::ConfigBaseImpl(const std::string &fileName) : mFileName(fileName) +{ +} +void ConfigBaseImpl::OpenConfigFile(void) +{ + config_init(&cfg); + config_set_options(&cfg, + (CONFIG_OPTION_FSYNC | CONFIG_OPTION_SEMICOLON_SEPARATORS | + CONFIG_OPTION_COLON_ASSIGNMENT_FOR_GROUPS | CONFIG_OPTION_OPEN_BRACE_ON_SEPARATE_LINE)); + constexpr int FIEL_EXIST = 0; + if (FIEL_EXIST == access(mFileName.c_str(), F_OK)) { + if (!config_read_file(&cfg, mFileName.c_str())) { + LogError("Read file failed[%s].\n", mFileName.c_str()); + fprintf(stderr, "%s:%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg)); + return; + } + } + else { + LogInfo("Config file doesn't exist.\n"); + /* Write out the new configuration. */ + if (!config_write_file(&cfg, mFileName.c_str())) { + fprintf(stderr, "Error while writing file.\n"); + return; + } + } +} +void ConfigBaseImpl::CloseConfigFile(void) +{ + config_destroy(&cfg); +} +StatusCode ConfigBaseImpl::ConfigSaveFile(void) +{ + LogInfo("Save file[%s].\n", mFileName.c_str()); + if (!config_write_file(&cfg, mFileName.c_str())) { + LogError("Save config failed.\n"); + return CreateStatusCode(STATUS_CODE_NOT_OK); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetInt(const char *name, int *value) +{ + int result = INVALID_RESULT; + result = config_lookup_int(&cfg, name, value); + if (CONFIG_FALSE == result) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetInt(const char *name, const int value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_INT); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + config_setting_set_int(setting, value); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetShort(const char *name, short *value) +{ + int intValue = 0; + int result = 0; + result = config_lookup_int(&cfg, name, &intValue); + if (CONFIG_FALSE == result || CHECK_SHORT_LIMIT(intValue)) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + *value = (short)intValue; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetShort(const char *name, const short value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_INT); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + int intValue = value; + config_setting_set_int(setting, intValue); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetLong(const char *name, long *value) +{ + long long llongValue = 0; + int result = 0; + result = config_lookup_int64(&cfg, name, &llongValue); + if (CONFIG_FALSE == result || CHECK_LONG_LIMIT(llongValue)) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + *value = (long)llongValue; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetLong(const char *name, const long value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_INT64); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + long long llongValue = value; + config_setting_set_int64(setting, llongValue); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetLLong(const char *name, long long *value) +{ + int result = 0; + result = config_lookup_int64(&cfg, name, value); + if (CONFIG_FALSE == result) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetLLong(const char *name, const long long value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_INT64); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + config_setting_set_int64(setting, value); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetChar(const char *name, char *value) +{ + int charValue = 0; + int result = 0; + result = config_lookup_int(&cfg, name, &charValue); + if (CONFIG_FALSE == result && CHECK_CHAR_LIMIT(charValue)) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + *value = (char)charValue; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetChar(const char *name, const char value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_INT); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + int charValue = (int)value; + config_setting_set_int(setting, charValue); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetBool(const char *name, bool *value) +{ + int result = 0; + result = config_lookup_bool(&cfg, name, (int *)value); + if (CONFIG_FALSE == result) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetBool(const char *name, const bool value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_BOOL); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + config_setting_set_bool(setting, (int)value); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetFloat(const char *name, float *value) +{ + double dValue = 0; + int result = 0; + result = config_lookup_float(&cfg, name, &dValue); + if (CONFIG_FALSE == result || CHECK_FLOAT_LIMIT(dValue)) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + *value = (float)dValue; + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetFloat(const char *name, const float value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_FLOAT); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + double dValue = value; + config_setting_set_float(setting, dValue); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetDouble(const char *name, double *value) +{ + int result = 0; + result = config_lookup_float(&cfg, name, value); + if (CONFIG_FALSE == result) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetDouble(const char *name, const double value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (nullptr == setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_FLOAT); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + config_setting_set_float(setting, value); + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigGetString(const char *name, const char **value) +{ + int result = 0; + result = config_lookup_string(&cfg, name, value); + if (CONFIG_FALSE == result) { + return CreateConfigCode(CONFIG_CODE_PARAM_NOT_EXIST); + } + return CreateStatusCode(STATUS_CODE_OK); +} +StatusCode ConfigBaseImpl::ConfigSetString(const char *name, const char *value) +{ + config_setting_t *root = nullptr; + config_setting_t *setting = nullptr; + root = config_root_setting(&cfg); + if (nullptr == root) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + setting = config_setting_get_member(root, name); + if (!setting) { + setting = config_setting_add(root, name, CONFIG_TYPE_STRING); + } + if (nullptr == setting) { + LogError("Config function failed.\n"); + return CreateConfigCode(STATUS_CODE_NOT_OK); + } + config_setting_set_string(setting, value); + return CreateStatusCode(STATUS_CODE_OK); +} \ No newline at end of file diff --git a/utils/ConfigBase/src/ConfigBaseImpl.h b/utils/ConfigBase/src/ConfigBaseImpl.h new file mode 100644 index 0000000..de3c9a2 --- /dev/null +++ b/utils/ConfigBase/src/ConfigBaseImpl.h @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef CONFIG_BASE_IMPL_H +#define CONFIG_BASE_IMPL_H +#include "IConfigBase.h" +#include +class ConfigBaseImpl : public IConfigBase +{ +public: + ConfigBaseImpl(const std::string &fileName); + virtual ~ConfigBaseImpl() = default; + void OpenConfigFile(void) override; + void CloseConfigFile(void) override; + StatusCode ConfigSaveFile(void) override; + StatusCode ConfigGetInt(const char *name, int *value) override; + StatusCode ConfigSetInt(const char *name, const int value) override; + StatusCode ConfigGetShort(const char *name, short *value) override; + StatusCode ConfigSetShort(const char *name, const short value) override; + StatusCode ConfigGetLong(const char *name, long *value) override; + StatusCode ConfigSetLong(const char *name, const long value) override; + StatusCode ConfigGetLLong(const char *name, long long *value) override; + StatusCode ConfigSetLLong(const char *name, const long long value) override; + StatusCode ConfigGetChar(const char *name, char *value) override; + StatusCode ConfigSetChar(const char *name, const char value) override; + StatusCode ConfigGetBool(const char *name, bool *value) override; + StatusCode ConfigSetBool(const char *name, const bool value) override; + StatusCode ConfigGetFloat(const char *name, float *value) override; + StatusCode ConfigSetFloat(const char *name, const float value) override; + StatusCode ConfigGetDouble(const char *name, double *value) override; + StatusCode ConfigSetDouble(const char *name, const double value) override; + StatusCode ConfigGetString(const char *name, const char **value) override; + StatusCode ConfigSetString(const char *name, const char *value) override; + +private: + const std::string mFileName; + config_t cfg; +}; +#endif \ No newline at end of file diff --git a/utils/ConfigBase/src/IConfigBase.cpp b/utils/ConfigBase/src/IConfigBase.cpp new file mode 100644 index 0000000..51a26bc --- /dev/null +++ b/utils/ConfigBase/src/IConfigBase.cpp @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include "IConfigBase.h" +#include "ConfigBaseImpl.h" +#include "ILog.h" +#include +void IConfigBase::OpenConfigFile(void) +{ +} +void IConfigBase::CloseConfigFile(void) +{ +} +StatusCode IConfigBase::ConfigSaveFile(void) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetInt(const char *name, int *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetInt(const char *name, const int value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetShort(const char *name, short *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetShort(const char *name, const short value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetLong(const char *name, long *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetLong(const char *name, const long value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetLLong(const char *name, long long *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetLLong(const char *name, const long long value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetChar(const char *name, char *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetChar(const char *name, const char value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetBool(const char *name, bool *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetBool(const char *name, const bool value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetFloat(const char *name, float *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetFloat(const char *name, const float value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetDouble(const char *name, double *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetDouble(const char *name, const double value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigGetString(const char *name, const char **value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +StatusCode IConfigBase::ConfigSetString(const char *name, const char *value) +{ + return CreateStatusCode(STATUS_CODE_VIRTUAL_FUNCTION); +} +static const char *CONFIG_BASE_NAME = "config_base"; +const char *GetConfigBaseModuleName(void) +{ + return CONFIG_BASE_NAME; +} +std::shared_ptr *NewConfigBase(const char *fileName) +{ + LogInfo("Create the uart device object.\n"); + ConfigBase *impl = (ConfigBase *)malloc(sizeof(ConfigBase)); + if (nullptr == impl) { + LogError("NewConfigBase::malloc failed.\n"); + return nullptr; + } + ConfigBase tmp; + memcpy((void *)impl, (void *)&tmp, sizeof(ConfigBase)); + impl->mHeader.mCheckName = CONFIG_BASE_NAME; + impl->mIConfigBase = std::make_shared(fileName); + return (std::shared_ptr *)(((char *)impl) + sizeof(IConfigBaseHeader)); +} \ No newline at end of file diff --git a/utils/ConfigBase/src/IConfigBase.h b/utils/ConfigBase/src/IConfigBase.h new file mode 100644 index 0000000..8a98c18 --- /dev/null +++ b/utils/ConfigBase/src/IConfigBase.h @@ -0,0 +1,57 @@ +/* + * Copyright (c) 2023 Fancy Code. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#ifndef I_CONFIG_BASE_H +#define I_CONFIG_BASE_H +#include "StatusCode.h" +#include +class IConfigBase +{ +public: + IConfigBase() = default; + virtual ~IConfigBase() = default; + virtual void OpenConfigFile(void); + virtual void CloseConfigFile(void); + virtual StatusCode ConfigSaveFile(void); + virtual StatusCode ConfigGetInt(const char *name, int *value); + virtual StatusCode ConfigSetInt(const char *name, const int value); + virtual StatusCode ConfigGetShort(const char *name, short *value); + virtual StatusCode ConfigSetShort(const char *name, const short value); + virtual StatusCode ConfigGetLong(const char *name, long *value); + virtual StatusCode ConfigSetLong(const char *name, const long value); + virtual StatusCode ConfigGetLLong(const char *name, long long *value); + virtual StatusCode ConfigSetLLong(const char *name, const long long value); + virtual StatusCode ConfigGetChar(const char *name, char *value); + virtual StatusCode ConfigSetChar(const char *name, const char value); + virtual StatusCode ConfigGetBool(const char *name, bool *value); + virtual StatusCode ConfigSetBool(const char *name, const bool value); + virtual StatusCode ConfigGetFloat(const char *name, float *value); + virtual StatusCode ConfigSetFloat(const char *name, const float value); + virtual StatusCode ConfigGetDouble(const char *name, double *value); + virtual StatusCode ConfigSetDouble(const char *name, const double value); + virtual StatusCode ConfigGetString(const char *name, const char **value); + virtual StatusCode ConfigSetString(const char *name, const char *value); +}; +typedef struct i_config_base_header +{ + const char *mCheckName; +} IConfigBaseHeader; +typedef struct config_base +{ + IConfigBaseHeader mHeader; + std::shared_ptr mIConfigBase; +} ConfigBase; +const char *GetConfigBaseModuleName(void); +std::shared_ptr *NewConfigBase(const char *fileName); +#endif \ No newline at end of file