| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
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
18
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
36 struct IContentFilterFactory
37{
38 using ParameterSeq = LoanableTypedCollection<const char*>;
39
64 virtual ReturnCode_t create_content_filter(
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
84 virtual ReturnCode_t delete_content_filter(
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
eprosima::fastdds::dds::LoanableTypedCollection
A type-safe accessible collection of generic opaque pointers that can receive the buffer from outside...
Definition LoanableTypedCollection.hpp:40
eprosima::fastdds::dds::TopicDataType
Class TopicDataType used to provide the DomainRTPSParticipant with the methods to serialize,...
Definition TopicDataType.hpp:61
eprosima::fastdds::dds
Definition BuiltinTopicKey.hpp:26
eprosima::fastdds::dds::ReturnCode_t
int32_t ReturnCode_t
Definition DDSReturnCode.hpp:59
eprosima::fastdds
eprosima
eProsima namespace.
eprosima::fastdds::dds::IContentFilterFactory
The interface that a factory of IContentFilter objects should implement.
Definition IContentFilterFactory.hpp:37
eprosima::fastdds::dds::IContentFilterFactory::delete_content_filter
virtual ReturnCode_t delete_content_filter(const char *filter_class_name, IContentFilter *filter_instance)=0
Delete an IContentFilter instance.
eprosima::fastdds::dds::IContentFilterFactory::create_content_filter
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.
eprosima::fastdds::dds::IContentFilterFactory::ParameterSeq
LoanableTypedCollection< const char * > ParameterSeq
Definition IContentFilterFactory.hpp:38
eprosima::fastdds::dds::IContentFilter
The interface that content filter objects should implement.
Definition IContentFilter.hpp:37