Skip to content

Commit 29e5ca0

Browse files
authored
Merge pull request #23 from SolarFramework/feat/sfm
Feat/sfm
2 parents 3a7a310 + 2b3e48e commit 29e5ca0

File tree

44 files changed

+25153
-5595
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+25153
-5595
lines changed

gen/interfaces/IFrontEnd_grpcProxy.h

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ class IFrontEnd_grpcProxy: public org::bcom::xpcf::ConfigurableBase, virtual pu
2222
void unloadComponent () override final;
2323
org::bcom::xpcf::XPCFErrorCode onConfigured() override;
2424

25-
SolAR::FrameworkReturnCode registerClient(std::string const& keycloakToken, SolAR::api::service::DeviceInfo const& deviceInfo, std::string const& worldElementUUID, std::string& clientUUID) override;
25+
SolAR::FrameworkReturnCode registerClient(std::string const& accessToken, SolAR::api::service::DeviceInfo const& deviceInfo, std::string const& worldElementUUID, std::string& clientUUID) override;
2626
SolAR::FrameworkReturnCode unregisterClient(std::string const& clientUUID) override;
27-
SolAR::FrameworkReturnCode getAllClientsUUID(std::string const& keycloakToken, std::vector<std::string>& clientUUIDList) const override;
27+
SolAR::FrameworkReturnCode getAllClientsUUID(std::string const& accessToken, std::vector<std::string>& clientUUIDList) const override;
2828
SolAR::FrameworkReturnCode getDeviceInfo(std::string const& clientUUID, SolAR::api::service::DeviceInfo& deviceInfo) const override;
2929
SolAR::FrameworkReturnCode init(std::string const& clientUUID) override;
3030
SolAR::FrameworkReturnCode init(std::string const& clientUUID, SolAR::api::service::PipelineMode pipelineMode) override;
@@ -40,13 +40,16 @@ class IFrontEnd_grpcProxy: public org::bcom::xpcf::ConfigurableBase, virtual pu
4040
SolAR::FrameworkReturnCode get3DTransformRequest(std::string const& clientUUID, SolAR::api::service::TransformStatus& transform3DStatus, SolAR::datastructure::Transform3Df& transform3D, float_t& confidence) override;
4141
SolAR::FrameworkReturnCode getMappingDataRequest(std::string const& clientUUID, std::vector<SRef<SolAR::datastructure::CloudPoint>>& outputPointClouds, std::vector<SolAR::datastructure::Transform3Df>& keyframePoses) const override;
4242
SolAR::FrameworkReturnCode getLastPose(std::string const& clientUUID, SolAR::datastructure::Transform3Df& pose, SolAR::api::service::PoseType const poseType) const override;
43-
SolAR::FrameworkReturnCode createMap(std::string const& keycloakToken, std::string const& mapUUID) override;
44-
SolAR::FrameworkReturnCode deleteMap(std::string const& keycloakToken, std::string const& mapUUID) override;
45-
SolAR::FrameworkReturnCode getAllMapsUUID(std::string const& keycloakToken, std::vector<std::string>& mapUUIDList) const override;
43+
SolAR::FrameworkReturnCode createMap(std::string const& accessToken, std::string const& mapUUID) override;
44+
SolAR::FrameworkReturnCode deleteMap(std::string const& accessToken, std::string const& mapUUID) override;
45+
SolAR::FrameworkReturnCode getAllMapsUUID(std::string const& accessToken, std::vector<std::string>& mapUUIDList) const override;
4646
SolAR::FrameworkReturnCode getClientMapUUID(std::string const& clientUUID, std::string& mapUUID) const override;
47-
SolAR::FrameworkReturnCode getMapRequest(std::string const& keycloakToken, std::string const& mapUUID, SRef<SolAR::datastructure::Map>& mapDatastructure) const override;
48-
SolAR::FrameworkReturnCode setMapRequest(std::string const& keycloakToken, std::string const& mapUUID, SRef<SolAR::datastructure::Map> const mapDatastructure) override;
49-
SolAR::FrameworkReturnCode getPointCloudRequest(std::string const& keycloakToken, std::string const& mapUUID, SRef<SolAR::datastructure::PointCloud>& pointCloud) const override;
47+
SolAR::FrameworkReturnCode getMapRequest(std::string const& accessToken, std::string const& mapUUID, SRef<SolAR::datastructure::Map>& mapDatastructure) const override;
48+
SolAR::FrameworkReturnCode setMapRequest(std::string const& accessToken, std::string const& mapUUID, SRef<SolAR::datastructure::Map> const mapDatastructure) override;
49+
SolAR::FrameworkReturnCode getPointCloudRequest(std::string const& accessToken, std::string const& mapUUID, SRef<SolAR::datastructure::PointCloud>& pointCloud) const override;
50+
SolAR::FrameworkReturnCode requestMapProcessing(std::string const& accessToken, std::string const& mapUUID, SolAR::api::service::MapProcessingType const processingType) override;
51+
SolAR::FrameworkReturnCode getMapProcessingStatus(std::string const& accessToken, std::string const& mapUUID, SolAR::api::service::MapProcessingStatus& status, float& progress, std::string& resultingMapUUID) const override;
52+
SolAR::FrameworkReturnCode getMapProcessingData(std::string const& accessToken, std::string const& mapUUID, std::vector<SRef<SolAR::datastructure::CloudPoint>>& pointCloud, std::vector<SolAR::datastructure::Transform3Df>& keyframePoses) const override;
5053

5154

5255
private:

gen/interfaces/IFrontEnd_grpcServer.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ class IFrontEnd_grpcServer: public org::bcom::xpcf::ConfigurableBase, virtual p
5050
::grpc::Status getMapRequest(::grpc::ServerContext* context, const ::grpcIFrontEnd::getMapRequestRequest* request, ::grpcIFrontEnd::getMapRequestResponse* response) override;
5151
::grpc::Status setMapRequest(::grpc::ServerContext* context, const ::grpcIFrontEnd::setMapRequestRequest* request, ::grpcIFrontEnd::setMapRequestResponse* response) override;
5252
::grpc::Status getPointCloudRequest(::grpc::ServerContext* context, const ::grpcIFrontEnd::getPointCloudRequestRequest* request, ::grpcIFrontEnd::getPointCloudRequestResponse* response) override;
53+
::grpc::Status requestMapProcessing(::grpc::ServerContext* context, const ::grpcIFrontEnd::requestMapProcessingRequest* request, ::grpcIFrontEnd::requestMapProcessingResponse* response) override;
54+
::grpc::Status getMapProcessingStatus(::grpc::ServerContext* context, const ::grpcIFrontEnd::getMapProcessingStatusRequest* request, ::grpcIFrontEnd::getMapProcessingStatusResponse* response) override;
55+
::grpc::Status getMapProcessingData(::grpc::ServerContext* context, const ::grpcIFrontEnd::getMapProcessingDataRequest* request, ::grpcIFrontEnd::getMapProcessingDataResponse* response) override;
5356

5457
SRef<SolAR::api::service::IFrontEnd> m_xpcfComponent;
5558
xpcf::grpcServerCompressionInfos m_serviceCompressionInfos;
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// GRPC Proxy Class Header generated with xpcf_grpc_gen
2+
3+
4+
#ifndef IMAPPROCESSINGPIPELINE_GRPCPROXY_H
5+
#define IMAPPROCESSINGPIPELINE_GRPCPROXY_H
6+
#include "api/pipeline/IMapProcessingPipeline.h"
7+
#include <xpcf/component/ConfigurableBase.h>
8+
#include <memory>
9+
#include <string>
10+
#include <map>
11+
#include "grpcIMapProcessingPipelineService.grpc.pb.h"
12+
#include <grpc/grpc.h>
13+
#include <grpc++/channel.h>
14+
#include <xpcf/remoting/GrpcHelper.h>
15+
16+
namespace org::bcom::xpcf::grpc::proxyIMapProcessingPipeline {
17+
18+
class IMapProcessingPipeline_grpcProxy: public org::bcom::xpcf::ConfigurableBase, virtual public SolAR::api::pipeline::IMapProcessingPipeline {
19+
public:
20+
IMapProcessingPipeline_grpcProxy();
21+
~IMapProcessingPipeline_grpcProxy() override = default;
22+
void unloadComponent () override final;
23+
org::bcom::xpcf::XPCFErrorCode onConfigured() override;
24+
25+
SolAR::FrameworkReturnCode init() override;
26+
SolAR::FrameworkReturnCode start() override;
27+
SolAR::FrameworkReturnCode stop() override;
28+
SolAR::FrameworkReturnCode setMapToProcess(SRef<SolAR::datastructure::Map> const map) override;
29+
SolAR::FrameworkReturnCode getStatus(SolAR::api::pipeline::MapProcessingStatus& status, float& progress) const override;
30+
SolAR::FrameworkReturnCode getProcessingData(std::vector<SRef<SolAR::datastructure::CloudPoint>>& pointCloud, std::vector<SolAR::datastructure::Transform3Df>& keyframePoses) const override;
31+
SolAR::FrameworkReturnCode getProcessedMap(SRef<SolAR::datastructure::Map>& map) const override;
32+
33+
34+
private:
35+
std::string m_channelUrl;
36+
uint32_t m_channelCredentials;
37+
std::shared_ptr<::grpc::Channel> m_channel;
38+
xpcf::grpcCompressionInfos m_serviceCompressionInfos;
39+
std::map<std::string, xpcf::grpcCompressionInfos> m_methodCompressionInfosMap;
40+
std::vector<std::string> m_grpcProxyCompressionConfig;
41+
std::unique_ptr<::grpcIMapProcessingPipeline::grpcIMapProcessingPipelineService::Stub> m_grpcStub;
42+
43+
};
44+
45+
}
46+
47+
48+
template <> struct org::bcom::xpcf::ComponentTraits<org::bcom::xpcf::grpc::proxyIMapProcessingPipeline::IMapProcessingPipeline_grpcProxy>
49+
{
50+
static constexpr const char * UUID = "3e0afc52-5d71-411a-9e5b-bb73ced1cad0";
51+
static constexpr const char * NAME = "IMapProcessingPipeline_grpcProxy";
52+
static constexpr const char * DESCRIPTION = "IMapProcessingPipeline_grpcProxy grpc client proxy component";
53+
};
54+
55+
56+
#endif
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
// GRPC Server Class Header generated with xpcf_grpc_gen
2+
3+
#ifndef IMAPPROCESSINGPIPELINE_GRPCSERVER_H
4+
#define IMAPPROCESSINGPIPELINE_GRPCSERVER_H
5+
#include "api/pipeline/IMapProcessingPipeline.h"
6+
#include <xpcf/component/ConfigurableBase.h>
7+
#include <xpcf/remoting/IGrpcService.h>
8+
#include <xpcf/remoting/GrpcHelper.h>
9+
#include "grpcIMapProcessingPipelineService.grpc.pb.h"
10+
#include <grpc/grpc.h>
11+
12+
namespace org::bcom::xpcf::grpc::serverIMapProcessingPipeline {
13+
14+
class IMapProcessingPipeline_grpcServer: public org::bcom::xpcf::ConfigurableBase, virtual public org::bcom::xpcf::IGrpcService
15+
{
16+
public:
17+
IMapProcessingPipeline_grpcServer();
18+
~IMapProcessingPipeline_grpcServer() override = default;
19+
::grpc::Service * getService() override;
20+
const char * getServiceName() override { return "IMapProcessingPipeline"; }
21+
void unloadComponent () override final;
22+
org::bcom::xpcf::XPCFErrorCode onConfigured() override;
23+
24+
class grpcIMapProcessingPipelineServiceImpl: public ::grpcIMapProcessingPipeline::grpcIMapProcessingPipelineService::Service
25+
{
26+
public:
27+
grpcIMapProcessingPipelineServiceImpl() = default;
28+
::grpc::Status init(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::initRequest* request, ::grpcIMapProcessingPipeline::initResponse* response) override;
29+
::grpc::Status start(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::startRequest* request, ::grpcIMapProcessingPipeline::startResponse* response) override;
30+
::grpc::Status stop(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::stopRequest* request, ::grpcIMapProcessingPipeline::stopResponse* response) override;
31+
::grpc::Status setMapToProcess(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::setMapToProcessRequest* request, ::grpcIMapProcessingPipeline::setMapToProcessResponse* response) override;
32+
::grpc::Status getStatus(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::getStatusRequest* request, ::grpcIMapProcessingPipeline::getStatusResponse* response) override;
33+
::grpc::Status getProcessingData(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::getProcessingDataRequest* request, ::grpcIMapProcessingPipeline::getProcessingDataResponse* response) override;
34+
::grpc::Status getProcessedMap(::grpc::ServerContext* context, const ::grpcIMapProcessingPipeline::getProcessedMapRequest* request, ::grpcIMapProcessingPipeline::getProcessedMapResponse* response) override;
35+
36+
SRef<SolAR::api::pipeline::IMapProcessingPipeline> m_xpcfComponent;
37+
xpcf::grpcServerCompressionInfos m_serviceCompressionInfos;
38+
std::map<std::string, xpcf::grpcServerCompressionInfos> m_methodCompressionInfosMap;
39+
40+
};
41+
42+
43+
private:
44+
grpcIMapProcessingPipelineServiceImpl m_grpcService;
45+
std::vector<std::string> m_grpcServerCompressionConfig;
46+
47+
};
48+
49+
}
50+
51+
52+
template <> struct org::bcom::xpcf::ComponentTraits<org::bcom::xpcf::grpc::serverIMapProcessingPipeline::IMapProcessingPipeline_grpcServer>
53+
{
54+
static constexpr const char * UUID = "2dffb653-4d96-41bc-a2f9-1cc850c7498b";
55+
static constexpr const char * NAME = "IMapProcessingPipeline_grpcServer";
56+
static constexpr const char * DESCRIPTION = "IMapProcessingPipeline_grpcServer grpc server component";
57+
};
58+
59+
#endif

gen/interfaces/IMapsManager_grpcProxy.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ class IMapsManager_grpcProxy: public org::bcom::xpcf::ConfigurableBase, virtual
3232
SolAR::FrameworkReturnCode getMapRequest(std::string const& mapUUID, SRef<SolAR::datastructure::Map>& map) const override;
3333
SolAR::FrameworkReturnCode setMapRequest(std::string const& mapUUID, SRef<SolAR::datastructure::Map> const mapDatastructure) override;
3434
SolAR::FrameworkReturnCode getPointCloudRequest(std::string const& mapUUID, SRef<SolAR::datastructure::PointCloud>& pointCloud) const override;
35+
SolAR::FrameworkReturnCode registerMapProcessingService(SolAR::api::service::MapProcessingType const processingType, std::string const& serviceURL) override;
36+
SolAR::FrameworkReturnCode unregisterMapProcessingService(SolAR::api::service::MapProcessingType const processingType, std::string const& serviceURL) override;
37+
SolAR::FrameworkReturnCode requestMapProcessing(std::string const& mapUUID, SolAR::api::service::MapProcessingType const processingType) override;
38+
SolAR::FrameworkReturnCode getMapProcessingStatus(std::string const& mapUUID, SolAR::api::service::MapProcessingStatus& status, float& progress, std::string& resultingMapUUID) override;
39+
SolAR::FrameworkReturnCode getMapProcessingData(std::string const& mapUUID, std::vector<SRef<SolAR::datastructure::CloudPoint>>& pointCloud, std::vector<SolAR::datastructure::Transform3Df>& keyframePoses) override;
3540

3641

3742
private:

gen/interfaces/IMapsManager_grpcServer.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@ class IMapsManager_grpcServer: public org::bcom::xpcf::ConfigurableBase, virtua
3535
::grpc::Status getMapRequest(::grpc::ServerContext* context, const ::grpcIMapsManager::getMapRequestRequest* request, ::grpcIMapsManager::getMapRequestResponse* response) override;
3636
::grpc::Status setMapRequest(::grpc::ServerContext* context, const ::grpcIMapsManager::setMapRequestRequest* request, ::grpcIMapsManager::setMapRequestResponse* response) override;
3737
::grpc::Status getPointCloudRequest(::grpc::ServerContext* context, const ::grpcIMapsManager::getPointCloudRequestRequest* request, ::grpcIMapsManager::getPointCloudRequestResponse* response) override;
38+
::grpc::Status registerMapProcessingService(::grpc::ServerContext* context, const ::grpcIMapsManager::registerMapProcessingServiceRequest* request, ::grpcIMapsManager::registerMapProcessingServiceResponse* response) override;
39+
::grpc::Status unregisterMapProcessingService(::grpc::ServerContext* context, const ::grpcIMapsManager::unregisterMapProcessingServiceRequest* request, ::grpcIMapsManager::unregisterMapProcessingServiceResponse* response) override;
40+
::grpc::Status requestMapProcessing(::grpc::ServerContext* context, const ::grpcIMapsManager::requestMapProcessingRequest* request, ::grpcIMapsManager::requestMapProcessingResponse* response) override;
41+
::grpc::Status getMapProcessingStatus(::grpc::ServerContext* context, const ::grpcIMapsManager::getMapProcessingStatusRequest* request, ::grpcIMapsManager::getMapProcessingStatusResponse* response) override;
42+
::grpc::Status getMapProcessingData(::grpc::ServerContext* context, const ::grpcIMapsManager::getMapProcessingDataRequest* request, ::grpcIMapsManager::getMapProcessingDataResponse* response) override;
3843

3944
SRef<SolAR::api::service::IMapsManager> m_xpcfComponent;
4045
xpcf::grpcServerCompressionInfos m_serviceCompressionInfos;

0 commit comments

Comments
 (0)