Apollo
11.0
自动驾驶开放平台
participant_listener.cc
浏览该文件的文档.
1
/******************************************************************************
2
* Copyright 2018 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
#include "
cyber/service_discovery/communication/participant_listener.h
"
18
19
#include "
cyber/common/log.h
"
20
21
namespace
apollo
{
22
namespace
cyber {
23
namespace
service_discovery {
24
25
ParticipantListener::ParticipantListener
(
const
ChangeFunc
& callback)
26
: callback_(callback) {}
27
28
ParticipantListener::~ParticipantListener
() {
29
std::lock_guard<std::mutex> lck(mutex_);
30
callback_ =
nullptr
;
31
}
32
33
void
ParticipantListener::onParticipantDiscovery
(
34
eprosima::fastrtps::Participant* p,
35
eprosima::fastrtps::ParticipantDiscoveryInfo info) {
36
RETURN_IF_NULL
(callback_);
37
(void)p;
38
std::lock_guard<std::mutex> lock(mutex_);
39
callback_(info);
40
}
41
42
}
// namespace service_discovery
43
}
// namespace cyber
44
}
// namespace apollo
apollo::cyber::service_discovery::ParticipantListener::onParticipantDiscovery
virtual void onParticipantDiscovery(eprosima::fastrtps::Participant *p, eprosima::fastrtps::ParticipantDiscoveryInfo info)
Definition
participant_listener.cc:33
apollo::cyber::service_discovery::ParticipantListener::~ParticipantListener
virtual ~ParticipantListener()
Definition
participant_listener.cc:28
apollo::cyber::service_discovery::ParticipantListener::ChangeFunc
std::function< void(const eprosima::fastrtps::ParticipantDiscoveryInfo &info)> ChangeFunc
Definition
participant_listener.h:34
apollo::cyber::service_discovery::ParticipantListener::ParticipantListener
ParticipantListener(const ChangeFunc &callback)
Definition
participant_listener.cc:25
log.h
RETURN_IF_NULL
#define RETURN_IF_NULL(ptr)
Definition
log.h:90
apollo
class register implement
Definition
arena_queue.h:37
participant_listener.h
cyber
service_discovery
communication
participant_listener.cc