Apollo 10.0
自动驾驶开放平台
dreamview.h
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2017 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
17#pragma once
18
19#include <map>
20#include <memory>
21#include <string>
22
23#include "CivetServer.h"
24
25#include "cyber/cyber.h"
35#if WITH_TELEOP == 1
37#endif
38
43namespace apollo {
44namespace dreamview {
45
46class Dreamview {
47 public:
48 ~Dreamview();
49
52 void Stop();
53
54 private:
55 void TerminateProfilingMode();
56 bool PluginCallbackHMI(const std::string& function_name,
57 const nlohmann::json& param_json);
58 nlohmann::json HMICallbackSimControl(const std::string& function_name,
59 const nlohmann::json& param_json);
60 bool PerceptionCameraCallback(const std::string& param_string);
61 bool PointCloudCallback(const std::string& param_string);
62 std::unique_ptr<cyber::Timer> exit_timer_;
63
64 std::unique_ptr<SimulationWorldUpdater> sim_world_updater_;
65 std::unique_ptr<PointCloudUpdater> point_cloud_updater_;
66 std::unique_ptr<CivetServer> server_;
67 std::unique_ptr<WebSocketHandler> websocket_;
68 std::unique_ptr<WebSocketHandler> map_ws_;
69 std::unique_ptr<WebSocketHandler> point_cloud_ws_;
70 std::unique_ptr<WebSocketHandler> camera_ws_;
71 std::unique_ptr<WebSocketHandler> plugin_ws_;
72 std::unique_ptr<ImageHandler> image_;
73 std::unique_ptr<MapService> map_service_;
74 std::unique_ptr<HMI> hmi_;
75 std::unique_ptr<PerceptionCameraUpdater> perception_camera_updater_;
76 std::unique_ptr<PluginManager> plugin_manager_;
77#if WITH_TELEOP == 1
78 std::unique_ptr<TeleopService> teleop_;
79 std::unique_ptr<WebSocketHandler> teleop_ws_;
80#endif
81};
82
83} // namespace dreamview
84} // namespace apollo
A general class to denote the return status of an API call.
Definition status.h:43
apollo::common::Status Init()
Definition dreamview.cc:54
apollo::common::Status Start()
Definition dreamview.cc:124
class register implement
Definition arena_queue.h:37