Apollo
10.0
自动驾驶开放平台
plugin_description.h
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2023 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
#include <map>
18
#include <string>
19
20
namespace
apollo
{
21
namespace
cyber {
22
namespace
plugin_manager {
23
24
// plugin description struct
25
class
PluginDescription
{
26
public
:
27
std::string
name_
;
28
std::string
description_index_path_
;
29
std::string
description_path_
;
30
std::string
actual_description_path_
;
31
std::string
library_path_
;
32
std::string
actual_library_path_
;
33
34
std::map<std::string, std::string>
class_name_base_class_name_map_
;
35
36
PluginDescription
();
37
explicit
PluginDescription
(
const
std::string& name);
38
PluginDescription
(
const
std::string& name,
39
const
std::string& description_index_path,
40
const
std::string& description_path,
41
const
std::string& actual_description_path,
42
const
std::string& library_path,
43
const
std::string& actual_library_path);
44
51
bool
ParseFromIndexFile
(
const
std::string& file_path);
52
59
bool
ParseFromDescriptionFile
(
const
std::string& file_path);
60
};
61
62
}
// namespace plugin_manager
63
}
// namespace cyber
64
}
// namespace apollo
apollo::cyber::plugin_manager::PluginDescription
Definition
plugin_description.h:25
apollo::cyber::plugin_manager::PluginDescription::description_path_
std::string description_path_
Definition
plugin_description.h:29
apollo::cyber::plugin_manager::PluginDescription::actual_library_path_
std::string actual_library_path_
Definition
plugin_description.h:32
apollo::cyber::plugin_manager::PluginDescription::library_path_
std::string library_path_
Definition
plugin_description.h:31
apollo::cyber::plugin_manager::PluginDescription::ParseFromIndexFile
bool ParseFromIndexFile(const std::string &file_path)
parse plugin description metadata from plugin index file
Definition
plugin_description.cc:51
apollo::cyber::plugin_manager::PluginDescription::name_
std::string name_
Definition
plugin_description.h:27
apollo::cyber::plugin_manager::PluginDescription::actual_description_path_
std::string actual_description_path_
Definition
plugin_description.h:30
apollo::cyber::plugin_manager::PluginDescription::class_name_base_class_name_map_
std::map< std::string, std::string > class_name_base_class_name_map_
Definition
plugin_description.h:34
apollo::cyber::plugin_manager::PluginDescription::ParseFromDescriptionFile
bool ParseFromDescriptionFile(const std::string &file_path)
parse plugin description metadata from plugin description file
Definition
plugin_description.cc:63
apollo::cyber::plugin_manager::PluginDescription::PluginDescription
PluginDescription()
Definition
plugin_description.cc:34
apollo::cyber::plugin_manager::PluginDescription::description_index_path_
std::string description_index_path_
Definition
plugin_description.h:28
apollo
class register implement
Definition
arena_queue.h:37
cyber
plugin_manager
plugin_description.h