OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
DomainParticipant.hpp
Go to the documentation of this file.
1 #ifndef OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_
2 #define OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_
3 
4 /* Copyright 2010, Object Management Group, Inc.
5  * Copyright 2010, PrismTech, Corp.
6  * Copyright 2010, Real-Time Innovations, Inc.
7  * All rights reserved.
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 #include <string>
23 
25 #include <dds/core/types.hpp>
26 #include <dds/core/Time.hpp>
27 #include <dds/core/Entity.hpp>
29 
31 
34 
35 
36 namespace dds
37 {
38 namespace domain
39 {
40 
41 
42 class DomainParticipant;
43 
44 class DomainParticipantListener;
45 }
46 }
47 
65 {
66 public:
71 
72 public:
75 
76 public:
95  DomainParticipant(uint32_t id);
96 
116  DomainParticipant(uint32_t id,
120 
121 public:
123  virtual ~DomainParticipant();
126 public:
127 
154  void listener(Listener* listener,
155  const ::dds::core::status::StatusMask& event_mask);
156 
166  Listener* listener() const;
167 
183 
199 
216  uint32_t domain_id() const;
217 
218 
240  void assert_liveliness();
241 
242 
263  bool contains_entity(const ::dds::core::InstanceHandle& handle);
264 
279 
282 
285 
286 public:
311 
330  static void default_participant_qos(const ::dds::domain::qos::DomainParticipantQos& qos);
331 
356 
382  DomainParticipant& default_publisher_qos(const ::dds::pub::qos::PublisherQos& qos);
383 
408 
434  DomainParticipant& default_subscriber_qos(const ::dds::sub::qos::SubscriberQos& qos);
435 
460 
490 
491 #ifdef DOXYGEN_FOR_ISOCPP2
492  /*
493  * The above macro is never (and must never) be defined in normal compilation.
494  *
495  * The following code is for documenting proprietary API only.
496  */
497 
531  void create_persistent_snapshot(const std::string& partition_expression, const std::string& topic_expression, const std::string& uri);
532 
533 #endif
534 
535 #ifdef DOXYGEN_FOR_ISOCPP2
536  /*
537  * The above macro is never (and must never) be defined in normal compilation.
538  *
539  * The following code is for documenting proprietary API only.
540  */
541 
559  uint64_t get_memory_usage();
560 
561 #endif
562 
563 
564 #ifdef DOXYGEN_FOR_ISOCPP2
565  /*
566  * The above macro is never (and must never) be defined in normal compilation.
567  *
568  * The following code is for documenting proprietary API only.
569  */
570 
640  static void detach_all_domains(bool block_operations, bool delete_entities);
641 
642 
643 #endif
644 
645 #ifdef DOXYGEN_FOR_ISOCPP2
646  /*
647  * The above macro is never (and must never) be defined in normal compilation.
648  *
649  * The following code is for documenting proprietary API only.
650  */
703  void set_property(std::string property, std::string value);
704 #endif
705 
706 #ifdef DOXYGEN_FOR_ISOCPP2
707  /*
708  * The above macro is never (and must never) be defined in normal compilation.
709  *
710  * The following code is for documenting proprietary API only.
711  */
758  std::string get_property(std::string property);
759 
760 #endif
761 
762 
763  //=============================================================================
764 };
765 
766 
767 #endif /* OMG_TDDS_DOMAIN_DOMAIN_PARTICIPANT_HPP_ */
DomainParticipant & operator<<(const dds::domain::qos::DomainParticipantQos &qos)
This class is the abstract base class for all the DCPS objects.
Definition: Entity.hpp:55
static StatusMask none()
Definition: State.hpp:205
void set_property(std::string property, std::string value)
void value(DDT &dd, uint32_t mid, const T &v)
#define OMG_DDS_EXPLICIT_REF_BASE(TYPE, FROM)
Definition: refmacros.hpp:113
This object provides the basic mechanism for an application to specify Quality of Service attributes ...
static dds::domain::qos::DomainParticipantQos default_participant_qos()
const DomainParticipant & operator>>(dds::domain::qos::DomainParticipantQos &qos) const
bool contains_entity(const ::dds::core::InstanceHandle &handle)
A DomainParticipant represents the local membership of the application in a Domain.
void create_persistent_snapshot(const std::string &partition_expression, const std::string &topic_expression, const std::string &uri)
dds::pub::qos::PublisherQos default_publisher_qos() const
const dds::domain::qos::DomainParticipantQos & qos() const
static void detach_all_domains(bool block_operations, bool delete_entities)
dds::domain::DomainParticipantListener Listener
Definition: array.hpp:23
#define OMG_DDS_REF_TYPE_PROTECTED_DC(TYPE, BASE, DELEGATE)
Definition: refmacros.hpp:159
StatusMask is a bitmap or bitset field.
Definition: State.hpp:144
This struct provides the basic mechanism for an application to specify Quality of Service attributes ...
Definition: TopicQos.hpp:67
dds::topic::qos::TopicQos default_topic_qos() const
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
This class provides the basic mechanism for an application to specify Quality of Service attributes f...
dds::sub::qos::SubscriberQos default_subscriber_qos() const
std::string get_property(std::string property)