OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
ConditionImpl.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 OSPL_DDS_CORE_COND_TCONDITION_IMPL_HPP_
22 #define OSPL_DDS_CORE_COND_TCONDITION_IMPL_HPP_
23 
28 /*
29  * OMG PSM class declaration
30  */
33 #include <org/opensplice/core/ReportUtils.hpp>
34 
35 // Implementation
36 namespace dds
37 {
38 namespace core
39 {
40 namespace cond
41 {
42 
43 
44 Condition::~Condition()
45 {
46 }
47 
52 template <typename Functor>
53 void Condition::handler(Functor& func)
54 {
55  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
56  this->delegate()->set_handler(func);
57 }
58 
59 
60 template <typename Functor>
61 void Condition::handler(const Functor& func)
62 {
63  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
64  this->delegate()->set_handler(func);
65 }
70 {
71  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
72  this->delegate()->reset_handler();
73 }
74 
75 
77 {
78  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
79  this->delegate()->dispatch();
80 }
81 
82 
84 {
85  ISOCPP_REPORT_STACK_DDS_BEGIN(*this);
86  return this->delegate()->trigger_value();
87 }
88 
89 }
90 }
91 }
92 // End of implementation
93 
94 #endif /* OSPL_DDS_CORE_COND_TCONDITION_IMPL_HPP_ */
Definition: array.hpp:23
void handler(Functor &func)