Fast RTPS  Version 2.4.0
Fast RTPS
Participant.h
1 // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
20 #ifndef PARTICIPANT_H_
21 #define PARTICIPANT_H_
22 
23 #include <fastdds/rtps/common/Guid.h>
24 #include <fastdds/rtps/attributes/RTPSParticipantAttributes.h>
25 
26 #include <utility>
27 
28 namespace eprosima {
29 namespace fastrtps{
30 
31 class ParticipantImpl;
32 class ParticipantAttributes;
33 
34 namespace rtps
35 {
36  class WriterProxyData;
37  class ReaderProxyData;
38  class ResourceEvent;
39  class RTPSParticipant;
40 }
41 
46 class RTPS_DllAPI Participant
47 {
48  public:
53  const rtps::GUID_t& getGuid() const;
54 
60 
72  const rtps::GUID_t& partguid,
73  uint16_t userId,
74  rtps::EndpointKind_t kind);
75 
80  std::vector<std::string> getParticipantNames() const;
81 
86 
87  rtps::ResourceEvent& get_resource_event() const;
88 
89  private:
90  Participant();
91 
92  virtual ~Participant();
93 
94  ParticipantImpl* mp_impl;
95 
96  friend class Domain;
97 
98  friend class ParticipantImpl;
99 };
100 
101 }
102 } /* namespace eprosima */
103 
104 #endif /* PARTICIPANT_H_ */
Class Domain, use to interact with the Publisher Subscriber API of the Fast RTPS implementation.
Definition: Domain.h:61
Class ParticipantAttributes, used by the user to define the attributes of a Participant.
Definition: ParticipantAttributes.h:35
Class Participant used to group Publishers and Subscribers into a single working unit.
Definition: Participant.h:47
const rtps::GUID_t & getGuid() const
const ParticipantAttributes & getAttributes() const
Get the ParticipantAttributes.
bool newRemoteEndpointDiscovered(const rtps::GUID_t &partguid, uint16_t userId, rtps::EndpointKind_t kind)
Called when using a StaticEndpointDiscovery mechanism different that the one included in FastRTPS,...
std::vector< std::string > getParticipantNames() const
Returns a list with the participant names.
rtps::ResourceEvent & get_resource_event() const
void assert_liveliness()
Asserts liveliness of manual by participant publishers.
eProsima namespace.
Definition: LibrarySettingsAttributes.h:23