Backup:MissionManager module.
This commit is contained in:
parent
1b22cd3f63
commit
d42b38c5dc
|
@ -9,7 +9,7 @@ include_directories(
|
||||||
|
|
||||||
link_directories(
|
link_directories(
|
||||||
${LIBS_OUTPUT_PATH}
|
${LIBS_OUTPUT_PATH}
|
||||||
${HAL_SOURCE_PATH}/include
|
${EXTERNAL_LIBS_OUTPUT_PATH}
|
||||||
)
|
)
|
||||||
|
|
||||||
aux_source_directory(. SRC_FILES)
|
aux_source_directory(. SRC_FILES)
|
||||||
|
|
|
@ -3,8 +3,9 @@ set(HUNTTING_MAIN_INCLUDE_PATH "${APPLICATION_SOURCE_PATH}/HunttingCamera/sr
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${APPLICATION_SOURCE_PATH}/MissionManager/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${APPLICATION_SOURCE_PATH}/MissionManager/include")
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${MIDDLEWARE_SOURCE_PATH}/StateMachine/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${MIDDLEWARE_SOURCE_PATH}/StateMachine/include")
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${MIDDLEWARE_SOURCE_PATH}/McuManager/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${MIDDLEWARE_SOURCE_PATH}/McuManager/include")
|
||||||
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${MIDDLEWARE_SOURCE_PATH}/AppManager/include")
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/StatusCode/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/StatusCode/include")
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/Log/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/Log/include")
|
||||||
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${HAL_SOURCE_PATH}/include")
|
set(HUNTTING_MAIN_INCLUDE_PATH "${HUNTTING_MAIN_INCLUDE_PATH};${HAL_SOURCE_PATH}/include")
|
||||||
|
|
||||||
set(HUNTTING_LINK_LIB McuManager MissionManager StateMachine StatusCode Log Hal pthread dl)
|
set(HUNTTING_LINK_LIB McuManager MissionManager StateMachine AppManager StatusCode Log Hal pthread dl)
|
|
@ -13,6 +13,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
#include "MainThread.h"
|
#include "MainThread.h"
|
||||||
|
#include "IAppManager.h"
|
||||||
#include "IHalCpp.h"
|
#include "IHalCpp.h"
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
#include "IMcuManager.h"
|
#include "IMcuManager.h"
|
||||||
|
@ -61,10 +62,12 @@ StatusCode MainThread::CreateAllModules(void)
|
||||||
CreateMcuManager();
|
CreateMcuManager();
|
||||||
CreateMissionManagerModule();
|
CreateMissionManagerModule();
|
||||||
CreateStateMachine();
|
CreateStateMachine();
|
||||||
|
CreateAppManagerModule();
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
void MainThread::DestoryAllModules(void)
|
void MainThread::DestoryAllModules(void)
|
||||||
{
|
{
|
||||||
|
DestroyAppManagerModule();
|
||||||
DestroyStateMachine();
|
DestroyStateMachine();
|
||||||
DestroyMissionManagerModule();
|
DestroyMissionManagerModule();
|
||||||
DestroyMcuManager();
|
DestroyMcuManager();
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
||||||
|
# include(${UTILS_SOURCE_PATH}/WebServer/build/webserver.cmake)
|
||||||
|
include(${MIDDLEWARE_SOURCE_PATH}/AppManager/build/app_manager.cmake)
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
||||||
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
||||||
|
|
||||||
|
@ -9,6 +10,7 @@ include_directories(
|
||||||
${UTILS_SOURCE_PATH}/StatusCode/include
|
${UTILS_SOURCE_PATH}/StatusCode/include
|
||||||
${UTILS_SOURCE_PATH}/Log/include
|
${UTILS_SOURCE_PATH}/Log/include
|
||||||
${MIDDLEWARE_SOURCE_PATH}/StateMachine/include
|
${MIDDLEWARE_SOURCE_PATH}/StateMachine/include
|
||||||
|
${MIDDLEWARE_SOURCE_PATH}/AppManager/include
|
||||||
# ${MIDDLEWARE_SOURCE_PATH}/DeviceManager/include
|
# ${MIDDLEWARE_SOURCE_PATH}/DeviceManager/include
|
||||||
${MIDDLEWARE_SOURCE_PATH}/McuManager/include
|
${MIDDLEWARE_SOURCE_PATH}/McuManager/include
|
||||||
${MIDDLEWARE_SOURCE_PATH}/McuAskBase/include
|
${MIDDLEWARE_SOURCE_PATH}/McuAskBase/include
|
||||||
|
|
57
application/MissionManager/src/AppMonitor.cpp
Normal file
57
application/MissionManager/src/AppMonitor.cpp
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
#include "AppMonitor.h"
|
||||||
|
StatusCode AppMonitor::GetProductInfo(AppGetProductInfo ¶m)
|
||||||
|
{
|
||||||
|
param.mModel = "test";
|
||||||
|
param.mCompany = "test";
|
||||||
|
param.mSoc = "test";
|
||||||
|
param.mSp = "test";
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::GetDeviceAttr(AppGetDeviceAttr ¶m)
|
||||||
|
{
|
||||||
|
param.mUUID = "test";
|
||||||
|
param.mSoftVersion = "test";
|
||||||
|
param.mOtaVersion = "test";
|
||||||
|
param.mHardwareVersion = "test";
|
||||||
|
param.mSSID = "test";
|
||||||
|
param.mBSSID = "test";
|
||||||
|
param.mCameraNumber = "test";
|
||||||
|
param.mCurrentCameraID = "test";
|
||||||
|
param.mWifiReboot = "test";
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::GetMediaInfo(AppGetMeidaInfo ¶m)
|
||||||
|
{
|
||||||
|
param.mRtspUrl = "test";
|
||||||
|
param.mTransport = "test";
|
||||||
|
param.mPort = 123;
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::GetSdCardInfo(AppGetSdCardInfo ¶m)
|
||||||
|
{
|
||||||
|
param.mStatus = SdCardStatus::CARD_DAMAGED;
|
||||||
|
param.mFree = 0;
|
||||||
|
param.mTotal = 0;
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::GetBatteryInfo(AppGetBatteryInfo ¶m)
|
||||||
|
{
|
||||||
|
param.mCapacity = 0;
|
||||||
|
param.mChargeStatus = ChargeStatus::CHARGING;
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::SetDateTime(AppSetDateTime ¶m)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::SetTimeZone(const unsigned int &zone)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
||||||
|
StatusCode AppMonitor::UploadFile(AppUploadFile ¶m)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
|
}
|
32
application/MissionManager/src/AppMonitor.h
Normal file
32
application/MissionManager/src/AppMonitor.h
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
/*
|
||||||
|
* 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 APP_MONITOR_H
|
||||||
|
#define APP_MONITOR_H
|
||||||
|
#include "IAppManager.h"
|
||||||
|
class AppMonitor : public VAppMonitor
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
AppMonitor() = default;
|
||||||
|
virtual ~AppMonitor() = default;
|
||||||
|
StatusCode GetProductInfo(AppGetProductInfo ¶m) override;
|
||||||
|
StatusCode GetDeviceAttr(AppGetDeviceAttr ¶m) override;
|
||||||
|
StatusCode GetMediaInfo(AppGetMeidaInfo ¶m) override;
|
||||||
|
StatusCode GetSdCardInfo(AppGetSdCardInfo ¶m) override;
|
||||||
|
StatusCode GetBatteryInfo(AppGetBatteryInfo ¶m) override;
|
||||||
|
StatusCode SetDateTime(AppSetDateTime ¶m) override;
|
||||||
|
StatusCode SetTimeZone(const unsigned int &zone) override;
|
||||||
|
StatusCode UploadFile(AppUploadFile ¶m) override;
|
||||||
|
};
|
||||||
|
#endif
|
|
@ -13,6 +13,7 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
#include "MissionManager.h"
|
#include "MissionManager.h"
|
||||||
|
#include "IAppManager.h"
|
||||||
#include "MissionStateMachine.h"
|
#include "MissionStateMachine.h"
|
||||||
const StatusCode MissionManager::Init(void)
|
const StatusCode MissionManager::Init(void)
|
||||||
{
|
{
|
||||||
|
@ -22,5 +23,6 @@ const StatusCode MissionManager::Init(void)
|
||||||
const StatusCode MissionManager::UnInit(void)
|
const StatusCode MissionManager::UnInit(void)
|
||||||
{
|
{
|
||||||
MissionStateMachine::GetInstance()->UnInit();
|
MissionStateMachine::GetInstance()->UnInit();
|
||||||
|
IAppManager::GetInstance()->UnInit();
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
|
@ -15,6 +15,7 @@
|
||||||
#include "MissionManagerMakePtr.h"
|
#include "MissionManagerMakePtr.h"
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
#include "MissionManager.h"
|
#include "MissionManager.h"
|
||||||
|
#include "TestMissionState.h"
|
||||||
#include "TopState.h"
|
#include "TopState.h"
|
||||||
bool CreateMissionManagerModule(void)
|
bool CreateMissionManagerModule(void)
|
||||||
{
|
{
|
||||||
|
@ -57,3 +58,8 @@ std::shared_ptr<State> MissionManagerMakePtr::CreateTopState(void)
|
||||||
std::shared_ptr<State> state = std::make_shared<TopState>();
|
std::shared_ptr<State> state = std::make_shared<TopState>();
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
std::shared_ptr<State> MissionManagerMakePtr::CreateMissionState(const IpcMission &mission)
|
||||||
|
{
|
||||||
|
std::shared_ptr<State> state = std::make_shared<TestMissionState>();
|
||||||
|
return state;
|
||||||
|
}
|
|
@ -14,6 +14,7 @@
|
||||||
*/
|
*/
|
||||||
#ifndef MISSIONMANAGERMAKEIMPL_H
|
#ifndef MISSIONMANAGERMAKEIMPL_H
|
||||||
#define MISSIONMANAGERMAKEIMPL_H
|
#define MISSIONMANAGERMAKEIMPL_H
|
||||||
|
#include "IMcuManager.h"
|
||||||
#include "IMissionManager.h"
|
#include "IMissionManager.h"
|
||||||
#include "IStateMachine.h"
|
#include "IStateMachine.h"
|
||||||
#include "StatusCode.h"
|
#include "StatusCode.h"
|
||||||
|
@ -26,5 +27,6 @@ public:
|
||||||
static std::shared_ptr<MissionManagerMakePtr> &GetInstance(std::shared_ptr<MissionManagerMakePtr> *impl = nullptr);
|
static std::shared_ptr<MissionManagerMakePtr> &GetInstance(std::shared_ptr<MissionManagerMakePtr> *impl = nullptr);
|
||||||
virtual const StatusCode CreateMissionManagerInstance(std::shared_ptr<IMissionManager> &instance);
|
virtual const StatusCode CreateMissionManagerInstance(std::shared_ptr<IMissionManager> &instance);
|
||||||
virtual std::shared_ptr<State> CreateTopState(void);
|
virtual std::shared_ptr<State> CreateTopState(void);
|
||||||
|
virtual std::shared_ptr<State> CreateMissionState(const IpcMission &mission);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
|
@ -54,6 +54,10 @@ void MissionStateMachine::UnInit(void)
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
|
void MissionStateMachine::SwitchState(const MissionState &state)
|
||||||
|
{
|
||||||
|
mStateMachine->SwitchState(mStateTree[state].get());
|
||||||
|
}
|
||||||
IpcMission MissionStateMachine::GetStartMission(void)
|
IpcMission MissionStateMachine::GetStartMission(void)
|
||||||
{
|
{
|
||||||
class McuAskIpcMission : public McuAsk<IpcMission>, public McuAskBase
|
class McuAskIpcMission : public McuAsk<IpcMission>, public McuAskBase
|
||||||
|
@ -70,7 +74,9 @@ void MissionStateMachine::RunStateMachine(const IpcMission &mission)
|
||||||
{
|
{
|
||||||
LogInfo("Make all states and start the state machine.\n");
|
LogInfo("Make all states and start the state machine.\n");
|
||||||
mStateTree[MissionState::TOP_STATE] = MissionManagerMakePtr::GetInstance()->CreateTopState();
|
mStateTree[MissionState::TOP_STATE] = MissionManagerMakePtr::GetInstance()->CreateTopState();
|
||||||
|
mStateTree[MissionState::MISSION_STATE] = MissionManagerMakePtr::GetInstance()->CreateMissionState(mission);
|
||||||
mStateMachine->StatePlus(mStateTree[MissionState::TOP_STATE].get(), nullptr);
|
mStateMachine->StatePlus(mStateTree[MissionState::TOP_STATE].get(), nullptr);
|
||||||
|
mStateMachine->StatePlus(mStateTree[MissionState::MISSION_STATE].get(), mStateTree[MissionState::TOP_STATE].get());
|
||||||
mStateMachine->SetCurrentState(mStateTree[MissionState::TOP_STATE].get());
|
mStateMachine->SetCurrentState(mStateTree[MissionState::TOP_STATE].get());
|
||||||
mStateMachine->StartStateMachine();
|
mStateMachine->StartStateMachine();
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
enum class MissionState
|
enum class MissionState
|
||||||
{
|
{
|
||||||
TOP_STATE = 0,
|
TOP_STATE = 0,
|
||||||
|
MISSION_STATE,
|
||||||
END
|
END
|
||||||
};
|
};
|
||||||
class MissionStateMachine
|
class MissionStateMachine
|
||||||
|
@ -32,6 +33,7 @@ public:
|
||||||
static std::shared_ptr<MissionStateMachine> &GetInstance(std::shared_ptr<MissionStateMachine> *impl = nullptr);
|
static std::shared_ptr<MissionStateMachine> &GetInstance(std::shared_ptr<MissionStateMachine> *impl = nullptr);
|
||||||
void Init(void);
|
void Init(void);
|
||||||
void UnInit(void);
|
void UnInit(void);
|
||||||
|
void SwitchState(const MissionState &state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
IpcMission GetStartMission(void);
|
IpcMission GetStartMission(void);
|
||||||
|
|
|
@ -13,12 +13,15 @@
|
||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
#include "TestMissionState.h"
|
#include "TestMissionState.h"
|
||||||
|
#include "IAppManager.h"
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
TestMissionState::TestMissionState() : State("TestMissionState") {}
|
TestMissionState::TestMissionState() : State("TestMissionState") {}
|
||||||
void TestMissionState::GoInState()
|
void TestMissionState::GoInState()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
LogInfo(" ========== TestMissionState::GoInState.\n");
|
LogInfo(" ========== TestMissionState::GoInState.\n");
|
||||||
|
AppParam mAppParam("192.168.1.29", APP_MANAGER_HTTP_SERVER_PORT); // TODO:
|
||||||
|
IAppManager::GetInstance()->Init(mAppParam);
|
||||||
}
|
}
|
||||||
void TestMissionState::GoOutState()
|
void TestMissionState::GoOutState()
|
||||||
{
|
{
|
||||||
|
|
|
@ -14,9 +14,10 @@
|
||||||
*/
|
*/
|
||||||
#ifndef TEST_MISSION_STATE_H
|
#ifndef TEST_MISSION_STATE_H
|
||||||
#define TEST_MISSION_STATE_H
|
#define TEST_MISSION_STATE_H
|
||||||
|
#include "AppMonitor.h"
|
||||||
#include "DataProcessing.h"
|
#include "DataProcessing.h"
|
||||||
#include "IStateMachine.h"
|
#include "IStateMachine.h"
|
||||||
class TestMissionState : public State, public DataProcessing
|
class TestMissionState : public State, public DataProcessing, public AppMonitor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TestMissionState();
|
TestMissionState();
|
||||||
|
|
|
@ -14,11 +14,13 @@
|
||||||
*/
|
*/
|
||||||
#include "TopState.h"
|
#include "TopState.h"
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
|
#include "MissionStateMachine.h"
|
||||||
TopState::TopState() : State("TopState") {}
|
TopState::TopState() : State("TopState") {}
|
||||||
void TopState::GoInState()
|
void TopState::GoInState()
|
||||||
{
|
{
|
||||||
//
|
//
|
||||||
LogInfo(" ========== opState::GoInState.\n");
|
LogInfo(" ========== opState::GoInState.\n");
|
||||||
|
MissionStateMachine::GetInstance()->SwitchState(MissionState::MISSION_STATE);
|
||||||
}
|
}
|
||||||
void TopState::GoOutState()
|
void TopState::GoOutState()
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
|
||||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
||||||
|
include(${MIDDLEWARE_SOURCE_PATH}/AppManager/build/app_manager.cmake)
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
||||||
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
||||||
|
|
||||||
|
@ -17,18 +18,6 @@ include_directories(
|
||||||
#link_directories(
|
#link_directories(
|
||||||
#)
|
#)
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_IP)
|
|
||||||
set(APP_MANAGER_HTTP_SERVER_IP "localhost")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_IP=\"${APP_MANAGER_HTTP_SERVER_IP}\")
|
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_PORT)
|
|
||||||
message(FATAL_ERROR "You should set http listen port.
|
|
||||||
Example: set(APP_MANAGER_HTTP_SERVER_PORT \"8888\")
|
|
||||||
Refer to:${CMAKE_SOURCE_DIR_IPCSDK}/builde/cmake/toolchain/linux.toolchain.cmake")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_PORT=${APP_MANAGER_HTTP_SERVER_PORT})
|
|
||||||
|
|
||||||
aux_source_directory(./src SRC_FILES)
|
aux_source_directory(./src SRC_FILES)
|
||||||
aux_source_directory(./src/Protocol/SixFrame SRC_FILES)
|
aux_source_directory(./src/Protocol/SixFrame SRC_FILES)
|
||||||
|
|
||||||
|
|
12
middleware/AppManager/build/app_manager.cmake
Normal file
12
middleware/AppManager/build/app_manager.cmake
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_IP)
|
||||||
|
set(APP_MANAGER_HTTP_SERVER_IP "localhost")
|
||||||
|
endif()
|
||||||
|
add_definitions(-DAPP_MANAGER_HTTP_SERVER_IP=\"${APP_MANAGER_HTTP_SERVER_IP}\")
|
||||||
|
|
||||||
|
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_PORT)
|
||||||
|
message(FATAL_ERROR "You should set http listen port.
|
||||||
|
Example: set(APP_MANAGER_HTTP_SERVER_PORT \"8888\")
|
||||||
|
Refer to:${CMAKE_SOURCE_DIR_IPCSDK}/builde/cmake/toolchain/linux.toolchain.cmake")
|
||||||
|
endif()
|
||||||
|
add_definitions(-DAPP_MANAGER_HTTP_SERVER_PORT=${APP_MANAGER_HTTP_SERVER_PORT})
|
|
@ -47,7 +47,7 @@ void AppManager::AppRequestHandle(const char *url, const unsigned int urlLength,
|
||||||
}
|
}
|
||||||
void AppManager::HttpServerStart(const AppParam ¶m)
|
void AppManager::HttpServerStart(const AppParam ¶m)
|
||||||
{
|
{
|
||||||
auto httpServerThread = [¶m](std::shared_ptr<AppManager> app) {
|
auto httpServerThread = [=](std::shared_ptr<AppManager> app) {
|
||||||
LogInfo("AppManager httpServer started.\n");
|
LogInfo("AppManager httpServer started.\n");
|
||||||
app->HttpServerThread(param);
|
app->HttpServerThread(param);
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# include(${CMAKE_SOURCE_DIR}/build/independent_source.cmake)
|
# include(${CMAKE_SOURCE_DIR}/build/independent_source.cmake)
|
||||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
||||||
|
include(${MIDDLEWARE_SOURCE_PATH}/AppManager/build/app_manager.cmake)
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${TEST_OUTPUT_PATH}/bin)
|
set(EXECUTABLE_OUTPUT_PATH ${TEST_OUTPUT_PATH}/bin)
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
|
@ -25,18 +26,6 @@ link_directories(
|
||||||
${EXTERNAL_LIBS_OUTPUT_PATH}
|
${EXTERNAL_LIBS_OUTPUT_PATH}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_IP)
|
|
||||||
set(APP_MANAGER_HTTP_SERVER_IP "localhost")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_IP=\"${APP_MANAGER_HTTP_SERVER_IP}\")
|
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_PORT)
|
|
||||||
message(FATAL_ERROR "You should set http listen port.
|
|
||||||
Example: set(APP_MANAGER_HTTP_SERVER_PORT \"8888\")
|
|
||||||
Refer to:${CMAKE_SOURCE_DIR_IPCSDK}/builde/cmake/toolchain/linux.toolchain.cmake")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_PORT=${APP_MANAGER_HTTP_SERVER_PORT})
|
|
||||||
|
|
||||||
aux_source_directory(. SRC_FILES_MAIN)
|
aux_source_directory(. SRC_FILES_MAIN)
|
||||||
aux_source_directory(./src SRC_FILES)
|
aux_source_directory(./src SRC_FILES)
|
||||||
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
||||||
|
include(${MIDDLEWARE_SOURCE_PATH}/AppManager/build/app_manager.cmake)
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
||||||
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
||||||
|
|
||||||
|
@ -18,18 +19,6 @@ include_directories(
|
||||||
# ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
|
# ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
|
||||||
# )
|
# )
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_IP)
|
|
||||||
set(APP_MANAGER_HTTP_SERVER_IP "localhost")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_IP=\"${APP_MANAGER_HTTP_SERVER_IP}\")
|
|
||||||
|
|
||||||
if (NOT DEFINED APP_MANAGER_HTTP_SERVER_PORT)
|
|
||||||
message(FATAL_ERROR "You should set http listen port.
|
|
||||||
Example: set(APP_MANAGER_HTTP_SERVER_PORT \"8888\")
|
|
||||||
Refer to:${CMAKE_SOURCE_DIR_IPCSDK}/builde/cmake/toolchain/linux.toolchain.cmake")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DAPP_MANAGER_HTTP_SERVER_PORT=${APP_MANAGER_HTTP_SERVER_PORT})
|
|
||||||
|
|
||||||
aux_source_directory(./src TEST_TOOL_SRC_FILES)
|
aux_source_directory(./src TEST_TOOL_SRC_FILES)
|
||||||
set(TEST_TOOL_TARGET AppManagerTestTool)
|
set(TEST_TOOL_TARGET AppManagerTestTool)
|
||||||
add_library(${TEST_TOOL_TARGET} STATIC ${TEST_TOOL_SRC_FILES})
|
add_library(${TEST_TOOL_TARGET} STATIC ${TEST_TOOL_SRC_FILES})
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
||||||
include(${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/goahead.cmake)
|
include(${EXTERNAL_SOURCE_PATH}/goahead-5.2.0/goahead.cmake)
|
||||||
|
include(${UTILS_SOURCE_PATH}/WebServer/build/webserver.cmake)
|
||||||
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
||||||
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
||||||
|
|
||||||
|
@ -15,17 +16,6 @@ include_directories(
|
||||||
# ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
|
# ${EXTERNAL_SOURCE_PATH}/libconfig/libconfig-1.7.3/lib/.libs
|
||||||
# )
|
# )
|
||||||
|
|
||||||
if (NOT DEFINED GOAHEAD_DOCUMENTS_PATH)
|
|
||||||
set(GOAHEAD_DOCUMENTS_PATH "web")
|
|
||||||
endif()
|
|
||||||
if (NOT DEFINED GOAHEAD_CONFIG_FILE_PATH)
|
|
||||||
set(GOAHEAD_CONFIG_FILE_PATH "${PLATFORM_PATH}/cmake-shell/")
|
|
||||||
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"./\")
|
|
||||||
else()
|
|
||||||
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"${GOAHEAD_CONFIG_FILE_PATH}\")
|
|
||||||
endif()
|
|
||||||
add_definitions(-DGOAHEAD_DOCUMENTS_PATH=\"${GOAHEAD_DOCUMENTS_PATH}\")
|
|
||||||
|
|
||||||
if (NOT DEFINED GOAHEAD_UPLOAD_TMP_PATH)
|
if (NOT DEFINED GOAHEAD_UPLOAD_TMP_PATH)
|
||||||
message(FATAL_ERROR "YYou should set the GOAHEAD_UPLOAD_TMP_PATH variable so that the GOAHEAD module can temporarily save uploaded files.
|
message(FATAL_ERROR "YYou should set the GOAHEAD_UPLOAD_TMP_PATH variable so that the GOAHEAD module can temporarily save uploaded files.
|
||||||
For example: set(GOAHEAD_UPLOAD_TMP_PATH \"./goahead\")
|
For example: set(GOAHEAD_UPLOAD_TMP_PATH \"./goahead\")
|
||||||
|
|
|
@ -80,3 +80,30 @@ PUBLIC void websServiceEvents(int *finished)
|
||||||
|
|
||||||
```
|
```
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 1.5. goahead的bug
|
||||||
|
|
||||||
|
   当goahead使用无效的ip进行listen时,asan工具会报内存泄漏问题,目前暂时忽略该bug
|
||||||
|
|
||||||
|
```
|
||||||
|
=================================================================
|
||||||
|
==1420508==ERROR: LeakSanitizer: detected memory leaks
|
||||||
|
|
||||||
|
Direct leak of 17 byte(s) in 1 object(s) allocated from:
|
||||||
|
#0 0x7f3f4325d808 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cc:144
|
||||||
|
#1 0x55bc16b87490 in walloc src/alloc.c:280
|
||||||
|
#2 0x55bc16b991ae in sclone src/runtime.c:2430
|
||||||
|
#3 0x55bc16b9be26 in socketParseAddress src/socket.c:1334
|
||||||
|
#4 0x55bc16b891bf in websListen src/http.c:646
|
||||||
|
#5 0x55bc16b86f59 in WebServerInit /home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/utils/WebServer/src/WebServer.cpp:152
|
||||||
|
#6 0x55bc16b81f4a in AppManager::HttpServerThread(app_param const&) /home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/middleware/AppManager/src/AppManager.cpp:79
|
||||||
|
#7 0x55bc16b829f0 in operator() /home/xiaojiazhu/project/rkipc/battery/ipc-rk1106/ipc-sdk/middleware/AppManager/src/AppManager.cpp:52
|
||||||
|
#8 0x55bc16b829f0 in __invoke_impl<void, AppManager::HttpServerStart(const AppParam&)::<lambda(std::shared_ptr<AppManager>)>, std::shared_ptr<AppManager> > /usr/include/c++/9/bits/invoke.h:60
|
||||||
|
#9 0x55bc16b829f0 in __invoke<AppManager::HttpServerStart(const AppParam&)::<lambda(std::shared_ptr<AppManager>)>, std::shared_ptr<AppManager> > /usr/include/c++/9/bits/invoke.h:95
|
||||||
|
#10 0x55bc16b829f0 in _M_invoke<0, 1> /usr/include/c++/9/thread:244
|
||||||
|
#11 0x55bc16b829f0 in operator() /usr/include/c++/9/thread:251
|
||||||
|
#12 0x55bc16b829f0 in _M_run /usr/include/c++/9/thread:195
|
||||||
|
#13 0x7f3f4301bdf3 (/lib/x86_64-linux-gnu/libstdc++.so.6+0xd6df3)
|
||||||
|
|
||||||
|
SUMMARY: AddressSanitizer: 17 byte(s) leaked in 1 allocation(s).
|
||||||
|
```
|
11
utils/WebServer/build/webserver.cmake
Normal file
11
utils/WebServer/build/webserver.cmake
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
|
||||||
|
if (NOT DEFINED GOAHEAD_DOCUMENTS_PATH)
|
||||||
|
set(GOAHEAD_DOCUMENTS_PATH "web")
|
||||||
|
endif()
|
||||||
|
if (NOT DEFINED GOAHEAD_CONFIG_FILE_PATH)
|
||||||
|
set(GOAHEAD_CONFIG_FILE_PATH "${PLATFORM_PATH}/cmake-shell/")
|
||||||
|
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"./\")
|
||||||
|
else()
|
||||||
|
add_definitions(-DGOAHEAD_CONFIG_FILE_PATH=\"${GOAHEAD_CONFIG_FILE_PATH}\")
|
||||||
|
endif()
|
||||||
|
add_definitions(-DGOAHEAD_DOCUMENTS_PATH=\"${GOAHEAD_DOCUMENTS_PATH}\")
|
Loading…
Reference in New Issue
Block a user