Apollo  6.0
Open source self driving car software
worker_agent.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2019 The Apollo Authors. All Rights Reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *****************************************************************************/
16 #pragma once
17 
18 #include <memory>
19 #include <utility>
20 #include <vector>
21 
22 #include "grpc++/grpc++.h"
23 
24 #include "modules/map/tools/map_datachecker/proto/collection_service.grpc.pb.h"
25 #include "modules/map/tools/map_datachecker/proto/collection_service.pb.h"
31 
32 namespace apollo {
33 namespace hdmap {
34 
36  : public std::enable_shared_from_this<MapDataCheckerAgent>,
37  public CollectionCheckerService::Service {
38  public:
43 
44  public:
46  inline std::shared_ptr<MapDataCheckerAgent> GetWorkerAgent() {
47  return shared_from_this();
48  }
49  std::shared_ptr<PoseCollectionAgent> GetSpPoseCollectionAgent();
50 
51  grpc::Status ServiceChannelVerify(grpc::ServerContext *context,
52  ChannelVerifyRequest *request,
53  ChannelVerifyResponse *response);
54  grpc::Status ServiceStaticAlign(grpc::ServerContext *context,
55  StaticAlignRequest *request,
56  StaticAlignResponse *response);
57  grpc::Status ServiceEightRoute(grpc::ServerContext *context,
58  EightRouteRequest *request,
59  EightRouteResponse *response);
60  grpc::Status ServiceLoopsVerify(grpc::ServerContext *context,
61  LoopsVerifyRequest *request,
62  LoopsVerifyResponse *response);
63 
64  private:
65  std::shared_ptr<JsonConf> sp_conf_ = nullptr;
66  std::shared_ptr<PoseCollectionAgent> sp_pose_collection_agent_ = nullptr;
67  std::shared_ptr<ChannelVerifyAgent> sp_channel_checker_agent_ = nullptr;
68  std::shared_ptr<STATIC_ALIGN_AGENT_TYPE> sp_static_align_agent_ = nullptr;
69  std::shared_ptr<EIGHT_ROUTE_AGENT_TYPE> sp_eight_route_agent_ = nullptr;
70  std::shared_ptr<LoopsVerifyAgent> sp_loops_verify_agent_ = nullptr;
71 };
72 
73 } // namespace hdmap
74 } // namespace apollo
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
grpc::Status ServiceChannelVerify(grpc::ServerContext *context, ChannelVerifyRequest *request, ChannelVerifyResponse *response)
std::shared_ptr< PoseCollectionAgent > GetSpPoseCollectionAgent()
Definition: worker_agent.h:35
grpc::Status ServiceStaticAlign(grpc::ServerContext *context, StaticAlignRequest *request, StaticAlignResponse *response)
std::shared_ptr< MapDataCheckerAgent > GetWorkerAgent()
Definition: worker_agent.h:46
grpc::Status ServiceEightRoute(grpc::ServerContext *context, EightRouteRequest *request, EightRouteResponse *response)
grpc::Status ServiceLoopsVerify(grpc::ServerContext *context, LoopsVerifyRequest *request, LoopsVerifyResponse *response)
Definition: alignment_agent.h:38