Commit 6b5a4711 authored by oscar's avatar oscar

提交更新

parent 2dd079e8
cmake_minimum_required(VERSION 3.0.2)
project(map_location_lib)
SET(CMAKE_BUILD_TYPE "Debug")
#SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
include_directories(
${PROJECT_SOURCE_DIR}/
${PROJECT_SOURCE_DIR}/include/
${PROJECT_SOURCE_DIR}/src/
${PROJECT_SOURCE_DIR}/../ego_motion/include
)
add_library(${PROJECT_NAME} SHARED
${PROJECT_SOURCE_DIR}/src/MapLocationBase.cpp
${PROJECT_SOURCE_DIR}/src/MapLocation.cpp
)
#target_link_libraries(${PROJECT_NAME} )
#pragma once
#include "EgoMotionStruct.h"
#include <functional>
typedef void (MatchingResultCall)(MatchingResult& match);
typedef std::function<MatchingResultCall> MatchingResultCallback;
namespace JfxLocation
{
class MapLocationBase
{
public:
virtual ~MapLocationBase() {}
virtual int SetMatchingResultCallback(MatchingResultCallback cb) = 0;
virtual int PushGPSFrame(GPSFrame& gps) = 0;
virtual int PushLines(Lines& lines) = 0;
virtual int PushLocation(Location& loc) = 0;
};
MapLocationBase* CreateMapLocationBase();
void ReleaseMapLocationBase(MapLocationBase* obj);
}

#include "EgoMotion.h"
namespace JfxLocation
{
int MapLocation::Init()
{
return 0;
}
int MapLocation::Deal()
{
return 0;
}
int MapLocation::Release()
{
return 0;
}
}
#pragma once
#include "EgoMotionBase.h"
namespace JfxLocation
{
class MapLocation : public MapLocationBase
{
public:
virtual int Init();
virtual int Deal();
virtual int Release();
public:
};
}

#include "MapLocation.h"
namespace JfxLocation
{
MapLocationBase* CreateMapLocationBase()
{
return nullptr;
}
void ReleaseMapLocationBase(MapLocationBase* obj)
{
if (obj)
{
delete obj;
obj = nullptr;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment