Fast DDS  Version 3.6.1.0
Fast DDS
IContentFilterFactory.hpp
1 // Copyright 2021 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
19 #ifndef FASTDDS_DDS_TOPIC__ICONTENTFILTERFACTORY_HPP
20 #define FASTDDS_DDS_TOPIC__ICONTENTFILTERFACTORY_HPP
21 
22 #include <fastdds/fastdds_dll.hpp>
23 
24 #include <fastdds/dds/core/LoanableTypedCollection.hpp>
25 #include <fastdds/dds/core/ReturnCode.hpp>
26 #include <fastdds/dds/topic/IContentFilter.hpp>
27 #include <fastdds/dds/topic/TopicDataType.hpp>
28 
29 namespace eprosima {
30 namespace fastdds {
31 namespace dds {
32 
37 {
39 
65  const char* filter_class_name,
66  const char* type_name,
67  const TopicDataType* data_type,
68  const char* filter_expression,
69  const ParameterSeq& filter_parameters,
70  IContentFilter*& filter_instance) = 0;
71 
85  const char* filter_class_name,
86  IContentFilter* filter_instance) = 0;
87 };
88 
89 } // namespace dds
90 } // namespace fastdds
91 } // namespace eprosima
92 
93 #endif // FASTDDS_DDS_TOPIC__ICONTENTFILTERFACTORY_HPP
A type-safe accessible collection of generic opaque pointers that can receive the buffer from outside...
Definition: LoanableTypedCollection.hpp:40
Class TopicDataType used to provide the DomainRTPSParticipant with the methods to serialize,...
Definition: TopicDataType.hpp:61
Definition: DomainParticipant.hpp:46
int32_t ReturnCode_t
Definition: DDSReturnCode.hpp:59
The interface that a factory of IContentFilter objects should implement.
Definition: IContentFilterFactory.hpp:37
virtual ReturnCode_t delete_content_filter(const char *filter_class_name, IContentFilter *filter_instance)=0
Delete an IContentFilter instance.
virtual ReturnCode_t create_content_filter(const char *filter_class_name, const char *type_name, const TopicDataType *data_type, const char *filter_expression, const ParameterSeq &filter_parameters, IContentFilter *&filter_instance)=0
Create or update an IContentFilter instance.
The interface that content filter objects should implement.
Definition: IContentFilter.hpp:37