Apollo 10.0
自动驾驶开放平台
main.cc 文件参考
main.cc 的引用(Include)关系图:

浏览源代码.

函数

int main (int argc, char *argv[])
 

函数说明

◆ main()

int main ( int  argc,
char *  argv[] 
)

在文件 main.cc75 行定义.

75 {
76 std::string val;
77
78 COMMAND com = ParseOption(argc, argv, &val);
79
80 switch (com) {
81 case TOO_MANY_PARAMETER:
82 std::cout << "Too many paramtes\n";
83 case HELP:
84 printHelp(argv[0]);
85 return 0;
86 default: {}
87 }
88
89 apollo::cyber::Init(argv[0]);
90 FLAGS_minloglevel = 3;
91 FLAGS_alsologtostderr = 0;
92 FLAGS_colorlogtostderr = 0;
93
94 CyberTopologyMessage topology_msg(val);
95
96 auto topology_callback =
97 [&topology_msg](const apollo::cyber::proto::ChangeMsg &change_msg) {
98 apollo::cyber::Async([&topology_msg, change_msg] {
99 topology_msg.TopologyChanged(change_msg);
100 });
101 };
102
103 auto channel_manager =
104 apollo::cyber::service_discovery::TopologyManager::Instance()
105 ->channel_manager();
106 if (channel_manager == nullptr) {
107 AERROR << "Cyber Service Discovery is not ready.";
108 return -1;
109 }
110 channel_manager->AddChangeListener(topology_callback);
111
112 std::vector<apollo::cyber::proto::RoleAttributes> role_vec;
113 channel_manager->GetWriters(&role_vec);
114 for (auto &role : role_vec) {
115 topology_msg.AddReaderWriter(role, true);
116 }
117
118 role_vec.clear();
119 channel_manager->GetReaders(&role_vec);
120 for (auto &role : role_vec) {
121 topology_msg.AddReaderWriter(role, false);
122 }
123
125
126 signal(SIGWINCH, SigResizeHandle);
127 signal(SIGINT, SigCtrlCHandle);
128
129 s->SetCurrentRenderMessage(&topology_msg);
130
131 s->Init();
132 s->Run();
133
134 return 0;
135}
void Init(void)
Definition screen.cc:94
void Run(void)
Definition screen.cc:210
void SetCurrentRenderMessage(RenderableMessage *const render_obj)
Definition screen.h:63
static Screen * Instance(void)
Definition screen.cc:39
#define AERROR
Definition log.h:44
bool Init(const char *binary_name, const std::string &dag_info)
Definition init.cc:98