OpenSplice ISO C++ 2 FACE API  v6.x
OpenSplice Future Airborne Capability Environment (FACE) ISO C++ 2 API
ConnectionConfig.hpp
Go to the documentation of this file.
1 /*
2  * Vortex OpenSplice
3  *
4  * This software and documentation are Copyright 2006 to 2021 ADLINK
5  * Technology Limited, its affiliated companies and licensors. All rights
6  * reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  */
21 #ifndef VORTEX_FACE_CONNECTION_CONFIGURATION_HPP_
22 #define VORTEX_FACE_CONNECTION_CONFIGURATION_HPP_
23 
24 #include "Vortex_FACE.hpp"
25 #include "Vortex/FACE/Macros.hpp"
26 
27 namespace Vortex {
28 namespace FACE {
29 
31 {
32 public:
34 
36 
37  ::FACE::RETURN_CODE_TYPE set(const std::string &tag, const std::string &value);
38  ::FACE::RETURN_CODE_TYPE validate();
39 
40  std::string getConnectionName();
41  std::string getTopicName();
42  std::string getTypeName();
43 
44  ::FACE::CONNECTION_DIRECTION_TYPE getDirection();
45  ::FACE::MESSAGE_TYPE_GUID getGuid();
46  ::FACE::SYSTEM_TIME_TYPE getRefreshPeriod();
47 
48  uint32_t getDomainId();
49 
50  dds::domain::qos::DomainParticipantQos getParticipantQos();
51  dds::sub::qos::SubscriberQos getSubscriberQos();
52  dds::pub::qos::PublisherQos getPublisherQos();
53  dds::topic::qos::TopicQos getTopicQos();
54  dds::pub::qos::DataWriterQos getWriterQos();
55  dds::sub::qos::DataReaderQos getReaderQos();
56 
57 private:
58  long long
59  strtoll(const std::string &value, bool &ok);
60 
61  std::string connectionName;
62  std::string topicName;
63  std::string typeName;
64  std::string type;
65  std::string direction;
66  std::string domainId;
67  std::string guid;
68  std::string refresh;
69  std::string qosUri;
70  std::string qosProfile;
71  std::string qosParticipantId;
72  std::string qosSubscriberId;
73  std::string qosPublisherId;
74  std::string qosTopicId;
75  std::string qosReaderId;
76  std::string qosWriterId;
77 
78  dds::domain::qos::DomainParticipantQos participantQos;
79  dds::sub::qos::SubscriberQos subscriberQos;
80  dds::pub::qos::PublisherQos publisherQos;
81  dds::topic::qos::TopicQos topicQos;
82  dds::pub::qos::DataWriterQos writerQos;
83  dds::sub::qos::DataReaderQos readerQos;
84 
85  bool valid;
86 
87  static const size_t TAG_PREFIX_LEN;
88 };
89 
90 }; /* namespace FACE */
91 }; /* namespace Vortex */
92 
93 #endif /* VORTEX_FACE_CONNECTION_CONFIGURATION_HPP_ */
RETURN_CODE_TYPE
Definition: FACE_common.h:54
int64_t SYSTEM_TIME_TYPE
Definition: FACE_common.h:48
Vortex::FACE::smart_ptr_traits< ConnectionConfig >::shared_ptr shared_ptr
OSPL_CXX11_STD_MODULE::shared_ptr< T > shared_ptr
Definition: Macros.hpp:44
int64_t MESSAGE_TYPE_GUID
CONNECTION_DIRECTION_TYPE
#define VORTEX_FACE_API
Definition: Macros.hpp:34