OpenSplice ISO C++ 2 FACE API  v6.x
OpenSplice Future Airborne Capability Environment (FACE) ISO C++ 2 API
AnyConnection.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_ANY_CONNECTION_HPP_
22 #define VORTEX_FACE_ANY_CONNECTION_HPP_
23 
24 #include "Vortex_FACE.hpp"
26 
27 namespace Vortex {
28 namespace FACE {
29 
31 public:
33 
34  virtual
35  ~AnyConnection();
36 
39 
41  parameters(::FACE::CONNECTION_NAME_TYPE &connectionName,
42  ::FACE::TRANSPORT_CONNECTION_STATUS_TYPE &connectionStatus);
43 
44  std::string
45  getName();
46 
48  getDirection();
49 
51  unregisterCallback() = 0;
52 
53  virtual int32_t
54  getDomainId() const = 0;
55 
56 protected:
57  AnyConnection();
58 
59  virtual void initWriter() = 0;
60  virtual void initReader() = 0;
61 
62  void setLastValidity (::FACE::VALIDITY_TYPE validity);
63 
65 
66  static dds::core::Duration copyIn(const ::FACE::TIMEOUT_TYPE &timeout);
67 
68 private:
69  ::FACE::VALIDITY_TYPE lastValidity;
70 };
71 
72 
73 }; /* namespace FACE */
74 }; /* namespace Vortex */
75 
76 #endif /* VORTEX_FACE_ANY_CONNECTION_HPP_ */
Vortex::FACE::smart_ptr_traits< AnyConnection >::shared_ptr shared_ptr
RETURN_CODE_TYPE
Definition: FACE_common.h:54
SYSTEM_TIME_TYPE TIMEOUT_TYPE
Definition: FACE_common.h:49
Vortex::FACE::smart_ptr_traits< ConnectionConfig >::shared_ptr shared_ptr
OSPL_CXX11_STD_MODULE::shared_ptr< T > shared_ptr
Definition: Macros.hpp:44
CONNECTION_DIRECTION_TYPE
#define VORTEX_FACE_API
Definition: Macros.hpp:34
Char CONNECTION_NAME_TYPE[64]