21 #ifndef OSPL_DDS_SUB_COND_TQUERYCONDITION_IMPL_HPP_ 22 #define OSPL_DDS_SUB_COND_TQUERYCONDITION_IMPL_HPP_ 32 #include <org/opensplice/sub/cond/QueryConditionDelegate.hpp> 48 ISOCPP_REPORT_STACK_DDS_BEGIN(query);
52 this->delegate()->init(this->impl_);
59 template <
typename FUN>
64 ISOCPP_REPORT_STACK_DDS_BEGIN(query);
68 this->delegate()->set_handler(functor);
69 this->delegate()->init(this->impl_);
74 template <
typename FUN>
79 ISOCPP_REPORT_STACK_DDS_BEGIN(query);
83 this->delegate()->set_handler(functor);
84 this->delegate()->init(this->impl_);
93 const std::vector<std::string>& params,
96 ISOCPP_REPORT_STACK_DDS_BEGIN(dr);
98 this->set_ref(
new DELEGATE(dr, expression, params, status));
99 this->delegate()->init(this->impl_);
106 template <
typename FUN>
110 const std::vector<std::string>& params,
114 ISOCPP_REPORT_STACK_DDS_BEGIN(dr);
116 this->set_ref(
new DELEGATE(dr, expression, params, status));
117 this->delegate()->set_handler(functor);
118 this->delegate()->init(this->impl_);
122 template <
typename FUN>
125 const std::string& expression,
126 const std::vector<std::string>& params,
130 ISOCPP_REPORT_STACK_DDS_BEGIN(dr);
132 this->set_ref(
new DELEGATE(dr, expression, params, status));
133 this->delegate()->set_handler(functor);
134 this->delegate()->init(this->impl_);
139 QueryCondition::~QueryCondition()
144 template<
typename FWIterator>
147 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
149 std::vector<std::string> params(begin, end);
150 this->delegate()->parameters(params);
155 const std::string& expr)
157 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
159 this->delegate()->expression(expr);
165 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
167 return this->delegate()->expression();
173 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
175 return this->delegate()->begin();
181 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
183 return this->delegate()->end();
189 return this->delegate()->begin();
195 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
197 return this->delegate()->end();
202 const std::string& param)
204 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
206 this->delegate()->add_parameter(param);
212 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
214 return this->delegate()->parameters_length();
220 ISOCPP_REPORT_STACK_DDS_BEGIN(*
this);
221 return this->delegate()->data_reader();
236 *
this = dds::core::null;
238 this->::dds::core::Reference::impl_ = OSPL_CXX11_STD_MODULE::dynamic_pointer_cast<DELEGATE_T>(h.delegate());
239 if (h.delegate() != this->::dds::core::Reference::impl_) {
249 if (
this != (Condition*)&rhs) {
253 *
this = dds::core::null;
255 Condition other(rhs);
257 if (other.delegate() != this->::dds::core::Reference::impl_) {
void add_parameter(const std::string ¶m)
QueryCondition objects are specialized ReadCondition objects that allow the application to also speci...
Exception: An operation was invoked on an inappropriate object or at an inappropriate time...
Query objects contain expressions that allow the application to specify a filter on the locally avail...
void parameters(const FWIterator &begin, const FWIterator end)
Class to hold sample DataState information.
Typeless base class for the typed DataReader.
DELEGATE::iterator iterator
const AnyDataReader & data_reader() const
const_iterator begin() const
const dds::sub::AnyDataReader & data_reader() const
void parameters(const FWIterator &begin, const FWIterator end)
const std::string & expression() const
DELEGATE::const_iterator const_iterator
const std::string & expression()
uint32_t parameters_length() const
QueryCondition(const dds::sub::Query &query, const dds::sub::status::DataState &status)
const_iterator end() const