diff --git a/.gitignore b/.gitignore index 0a8081c3..206046a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .vscode +Doxygen cmake-shell/ external/gtest/googletest-release-1.11.0/ external/libconfig/libconfig-1.7.3/ diff --git a/application/MissionManager/src/DataProcessing.h b/application/MissionManager/src/DataProcessing.h index 95610b9a..3a5d5bcf 100644 --- a/application/MissionManager/src/DataProcessing.h +++ b/application/MissionManager/src/DataProcessing.h @@ -22,7 +22,7 @@ using std::placeholders::_1; using DataProcessingFunc = std::function; enum class InternalStateEvent { - TEST = static_cast(MissionEvent::END), + STORAGE_HANDLE_STATE_INIT = static_cast(MissionEvent::END), MEDIA_REPORT_EVENT, END }; diff --git a/application/MissionManager/src/MissionManagerMakePtr.cpp b/application/MissionManager/src/MissionManagerMakePtr.cpp index ef1a112a..961bf2ed 100644 --- a/application/MissionManager/src/MissionManagerMakePtr.cpp +++ b/application/MissionManager/src/MissionManagerMakePtr.cpp @@ -68,7 +68,7 @@ std::shared_ptr MissionManagerMakePtr::CreateMissionState(const IpcMissio std::shared_ptr MissionManagerMakePtr::CreateStorageHandleState(void) { std::shared_ptr state = std::make_shared(); - std::dynamic_pointer_cast(state)->Init(); + // std::dynamic_pointer_cast(state)->Init(); return state; } std::shared_ptr MissionManagerMakePtr::CreateSdCardHandleState(void) diff --git a/application/MissionManager/src/MissionStateMachine.cpp b/application/MissionManager/src/MissionStateMachine.cpp index 36b6636d..4a3959fd 100644 --- a/application/MissionManager/src/MissionStateMachine.cpp +++ b/application/MissionManager/src/MissionStateMachine.cpp @@ -13,10 +13,11 @@ * limitations under the License. */ #include "MissionStateMachine.h" +#include "DataProcessing.h" #include "ILog.h" #include "McuAskBase.h" #include "MissionManagerMakePtr.h" -#include "TopState.h" +// #include "TopState.h" std::shared_ptr &MissionStateMachine::GetInstance(std::shared_ptr *impl) { static auto instance = std::make_shared(); @@ -98,4 +99,7 @@ void MissionStateMachine::RunStateMachine(const IpcMission &mission) mStateTree[SystemState::STORAGE_HANDLE_STATE].get()); mStateMachine->SetCurrentState(mStateTree[SystemState::TOP_STATE].get()); mStateMachine->StartStateMachine(); + std::shared_ptr message = + std::make_shared(static_cast(InternalStateEvent::STORAGE_HANDLE_STATE_INIT)); + SendStateMessage(message); } diff --git a/application/MissionManager/src/SdCardHandleState.cpp b/application/MissionManager/src/SdCardHandleState.cpp index 293b715c..4ecd0671 100644 --- a/application/MissionManager/src/SdCardHandleState.cpp +++ b/application/MissionManager/src/SdCardHandleState.cpp @@ -43,7 +43,7 @@ bool SdCardHandleState::MediaReportHandle(VStateMachineData *msg) LogError("nullptr pointer.\n"); return NOT_EXECUTED; } - LogInfo("file = %s, path = %s.\n", data->mData.mFileName.c_str(), data->mData.mFilePath.c_str()); + LogInfo("file = %s.\n", data->mData.mFileName.c_str()); SaveFileInfo saveFileInfo(data->mData.mFileName); IFilesManager::GetInstance()->SaveFile(saveFileInfo); return EXECUTED; diff --git a/application/MissionManager/src/StorageHandleState.cpp b/application/MissionManager/src/StorageHandleState.cpp index 7bd52201..2e07b981 100644 --- a/application/MissionManager/src/StorageHandleState.cpp +++ b/application/MissionManager/src/StorageHandleState.cpp @@ -18,6 +18,8 @@ #include "MissionStateMachine.h" StorageHandleState::StorageHandleState() : State("StorageHandleState") { + mEventHandle[InternalStateEvent::STORAGE_HANDLE_STATE_INIT] = + std::bind(&StorageHandleState::StorageStartInitHandle, this, _1); } void StorageHandleState::GoInState() { @@ -43,4 +45,9 @@ void StorageHandleState::UnInit(void) void StorageHandleState::ReportEvent(const StorageEvent &event) { LogInfo("StorageHandleState::ReportEvent.\n"); +} +bool StorageHandleState::StorageStartInitHandle(VStateMachineData *msg) +{ + Init(); + return EXECUTED; } \ No newline at end of file diff --git a/application/MissionManager/src/StorageHandleState.h b/application/MissionManager/src/StorageHandleState.h index 9876dfb8..0c98175e 100644 --- a/application/MissionManager/src/StorageHandleState.h +++ b/application/MissionManager/src/StorageHandleState.h @@ -34,5 +34,6 @@ public: private: // About VStorageMoniter void ReportEvent(const StorageEvent &event) override; + bool StorageStartInitHandle(VStateMachineData *msg); }; #endif \ No newline at end of file diff --git a/application/MissionManager/src/TopState.cpp b/application/MissionManager/src/TopState.cpp index 8c2848b4..71545766 100644 --- a/application/MissionManager/src/TopState.cpp +++ b/application/MissionManager/src/TopState.cpp @@ -18,6 +18,7 @@ #include "MissionStateMachine.h" TopState::TopState() : State("TopState") { + mEventHandle[InternalStateEvent::STORAGE_HANDLE_STATE_INIT] = std::bind(&TopState::StorageStartInitHandle, this, _1); } void TopState::GoInState() { @@ -36,8 +37,15 @@ bool TopState::ExecuteStateMsg(VStateMachineData *msg) } StatusCode TopState::ReportEvent(const MediaReportEvent &event) { + LogInfo("==================================================================ReportEvent:\n"); std::shared_ptr message = std::make_shared>( static_cast(InternalStateEvent::MEDIA_REPORT_EVENT), event); MissionStateMachine::GetInstance()->SendStateMessage(message); return CreateStatusCode(STATUS_CODE_OK); +} +bool TopState::StorageStartInitHandle(VStateMachineData *msg) +{ + MissionStateMachine::GetInstance()->DelayMessage(msg); + MissionStateMachine::GetInstance()->SwitchState(SystemState::STORAGE_HANDLE_STATE); + return EXECUTED; } \ No newline at end of file diff --git a/application/MissionManager/src/TopState.h b/application/MissionManager/src/TopState.h index a5093340..f8b6a17d 100644 --- a/application/MissionManager/src/TopState.h +++ b/application/MissionManager/src/TopState.h @@ -31,5 +31,8 @@ public: private: // About VMediaMonitor StatusCode ReportEvent(const MediaReportEvent &event) override; + +private: + bool StorageStartInitHandle(VStateMachineData *msg); }; #endif \ No newline at end of file diff --git a/hal/abstract/IHalCpp.cpp b/hal/abstract/IHalCpp.cpp index e930988b..57f726b6 100644 --- a/hal/abstract/IHalCpp.cpp +++ b/hal/abstract/IHalCpp.cpp @@ -15,9 +15,8 @@ #include "IHalCpp.h" #include "ILog.h" #include -camera_report_event::camera_report_event(const std::string &fileName, const std::string &filePath, - const CameraEvent &eventType, const CameraType &cameraType) - : mFileName(fileName), mFilePath(filePath), mEventType(eventType), mCameraType(cameraType) +camera_report_event::camera_report_event(const std::string &fileName, const CameraType &cameraType) + : mFileName(fileName), mCameraType(cameraType) { } void VKeyHalMonitor::KeyEventHappened(const std::string &keyName, const VirtualKeyEvent &event, diff --git a/hal/include/IHalCpp.h b/hal/include/IHalCpp.h index 81ecb170..ce1fd70a 100644 --- a/hal/include/IHalCpp.h +++ b/hal/include/IHalCpp.h @@ -29,13 +29,6 @@ enum class CameraType MAIN_CAMERA = 0, END }; -enum class CameraEvent -{ - PICTIRUE = 0, - VIDEO, - PICTIRUE_AND_VIDEO, - END -}; enum class SdCardHalStatus { MOUNTED = 0, @@ -47,11 +40,8 @@ enum class SdCardHalStatus }; typedef struct camera_report_event { - camera_report_event(const std::string &fileName, const std::string &filePath, const CameraEvent &eventType, - const CameraType &cameraType); + camera_report_event(const std::string &fileName, const CameraType &cameraType); const std::string mFileName; - const std::string mFilePath; - const CameraEvent mEventType; const CameraType mCameraType; } CameraReportEvent; void CreateHalCppModule(void); diff --git a/hal/src/HalMakePtr.cpp b/hal/src/HalMakePtr.cpp index 5e4346cd..0537dace 100644 --- a/hal/src/HalMakePtr.cpp +++ b/hal/src/HalMakePtr.cpp @@ -89,7 +89,7 @@ StatusCode HalMakePtr::CreateCameraHal(std::shared_ptr &impl) } StatusCode HalMakePtr::CreateSdCardHal(std::shared_ptr &impl) { - LogWarning("CreateSdCardHal.\n"); + LogInfo("CreateSdCardHal.\n"); impl = std::make_shared(); return CreateStatusCode(STATUS_CODE_OK); } \ No newline at end of file diff --git a/middleware/MediaManager/include/IMediaManager.h b/middleware/MediaManager/include/IMediaManager.h index d3c75cdd..cc7e9b9d 100644 --- a/middleware/MediaManager/include/IMediaManager.h +++ b/middleware/MediaManager/include/IMediaManager.h @@ -35,11 +35,8 @@ enum class MediaTaskType }; typedef struct media_report_event { - media_report_event(const std::string &fileName, const std::string &filePath, const MediaTaskType &eventType, - const MediaChannel &mediaChannedl); + media_report_event(const std::string &fileName, const MediaChannel &mediaChannedl); const std::string mFileName; - const std::string mFilePath; // TODO: delete - const MediaTaskType mEventType; // TODO: delete const MediaChannel mMediaChannedl; } MediaReportEvent; class MediaTaskResponse diff --git a/middleware/MediaManager/src/IMediaManager.cpp b/middleware/MediaManager/src/IMediaManager.cpp index 7bd99439..564fbccd 100644 --- a/middleware/MediaManager/src/IMediaManager.cpp +++ b/middleware/MediaManager/src/IMediaManager.cpp @@ -14,9 +14,8 @@ */ #include "IMediaManager.h" #include "ILog.h" -media_report_event::media_report_event(const std::string &fileName, const std::string &filePath, - const MediaTaskType &eventType, const MediaChannel &mediaChannedl) - : mFileName(fileName), mFilePath(filePath), mEventType(eventType), mMediaChannedl(mediaChannedl) +media_report_event::media_report_event(const std::string &fileName, const MediaChannel &mediaChannedl) + : mFileName(fileName), mMediaChannedl(mediaChannedl) { } const MediaTaskType VMediaTask::GetTaskType(void) diff --git a/middleware/MediaManager/src/MediaManagerImpl.cpp b/middleware/MediaManager/src/MediaManagerImpl.cpp index 08ac05aa..ed7f4dc3 100644 --- a/middleware/MediaManager/src/MediaManagerImpl.cpp +++ b/middleware/MediaManager/src/MediaManagerImpl.cpp @@ -17,7 +17,6 @@ StatusCode MediaManagerImpl::Init(void) { IHalCpp::GetInstance()->GetCameraHal(mAllCameras); - SetCamerasMonitor(); return CreateStatusCode(STATUS_CODE_OK); } StatusCode MediaManagerImpl::UnInit(void) @@ -27,19 +26,15 @@ StatusCode MediaManagerImpl::UnInit(void) StatusCode MediaManagerImpl::SetMediaMonitor(std::shared_ptr &monitor) { mMediaMonitor = monitor; + SetCamerasMonitor(); return CreateStatusCode(STATUS_CODE_OK); } void MediaManagerImpl::ReportEvent(const CameraReportEvent &event) { - LogInfo("ReportEvent.\n"); - LogInfo("ReportEvent. file: %s, path: %s.\n", event.mFileName.c_str(), event.mFilePath.c_str()); - MediaReportEvent reprot(event.mFileName, - event.mFilePath, - static_cast(event.mEventType), - static_cast(event.mCameraType)); + LogInfo("ReportEvent. file: %s.\n", event.mFileName.c_str()); + MediaReportEvent reprot(event.mFileName, static_cast(event.mCameraType)); auto monitor = mMediaMonitor.lock(); - if (mMediaMonitor.expired()) - { + if (mMediaMonitor.expired()) { LogWarning("MediaMonitor is expired.\n"); return; } diff --git a/test/hal/tool/include/HalTestTool.h b/test/hal/tool/include/HalTestTool.h index feca78a3..584b056e 100644 --- a/test/hal/tool/include/HalTestTool.h +++ b/test/hal/tool/include/HalTestTool.h @@ -38,8 +38,7 @@ public: void MockKeyClick(const std::string &keyName, const unsigned int &pressingTimeMs = 200); void SetLedStateExpectations(const std::string &ledName, const LedState &state, const unsigned int &aliveTimeMs, const unsigned int &blinkTimeMs); - void MockReportCameraEvent(const std::string &fileName, const std::string &filePath, const CameraEvent &eventType, - const CameraType &cameraType); + void MockReportCameraEvent(const std::string &fileName, const CameraType &cameraType); protected: virtual void DeviceManagerNotice(const std::string &keyName, const unsigned int &pressingTimeMs); diff --git a/test/hal/tool/src/HalTestTool.cpp b/test/hal/tool/src/HalTestTool.cpp index 97971ce6..3b1691d3 100644 --- a/test/hal/tool/src/HalTestTool.cpp +++ b/test/hal/tool/src/HalTestTool.cpp @@ -101,8 +101,7 @@ void HalTestTool::SetLedStateExpectations(const std::string &ledName, const LedS // } LedControlMock::SetLedStateMock(led, state, aliveTimeMs, blinkTimeMs); } -void HalTestTool::MockReportCameraEvent(const std::string &fileName, const std::string &filePath, - const CameraEvent &eventType, const CameraType &cameraType) +void HalTestTool::MockReportCameraEvent(const std::string &fileName, const CameraType &cameraType) { std::shared_ptr camera = SearchCamera(cameraType); if (!camera) { @@ -111,7 +110,7 @@ void HalTestTool::MockReportCameraEvent(const std::string &fileName, const std:: } std::shared_ptr cameraMock = std::dynamic_pointer_cast(camera); if (cameraMock) { - CameraReportEvent report(fileName, filePath, eventType, cameraType); + CameraReportEvent report(fileName, cameraType); cameraMock->MockReportCameraEvent(report); } else { diff --git a/test/middleware/MediaManager/src/MediaManager_Test.cpp b/test/middleware/MediaManager/src/MediaManager_Test.cpp index 1bd5eb6a..720b9ecf 100644 --- a/test/middleware/MediaManager/src/MediaManager_Test.cpp +++ b/test/middleware/MediaManager/src/MediaManager_Test.cpp @@ -80,7 +80,7 @@ TEST_F(MediaManagerTest, INTEGRATION_MediaManager_EXAMPLE_Demo0) IMediaManager::GetInstance()->Init(); IMediaManager::GetInstance()->SetMediaMonitor(monitor); std::this_thread::sleep_for(std::chrono::milliseconds(100)); - MockReportCameraEvent("test name", "test path", CameraEvent::PICTIRUE, CameraType::MAIN_CAMERA); + MockReportCameraEvent("test name", CameraType::MAIN_CAMERA); // MockAppClientConnect(); // std::this_thread::sleep_for(std::chrono::milliseconds(100)); // MockSetRecordingStatus(RecordingStatus::RECORDING_START);