| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
ContentFilterProperty.hpp
1// Copyright 2022 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_RTPS_BUILTIN_DATA__CONTENTFILTERPROPERTY_HPP
20#define FASTDDS_RTPS_BUILTIN_DATA__CONTENTFILTERPROPERTY_HPP
21
22#include <string>
23
24#include <fastcdr/cdr/fixed_size_string.hpp>
25#include <fastdds/utils/collections/ResourceLimitedContainerConfig.hpp>
26#include <fastdds/utils/collections/ResourceLimitedVector.hpp>
27
28 namespace eprosima {
29 namespace fastdds {
30 namespace rtps {
31
35 class ContentFilterProperty
36{
37 public:
38
42 struct AllocationConfiguration
43 {
45 size_t expression_initial_size = 0;
47 fastdds::ResourceLimitedContainerConfig expression_parameters{ 0, 100, 1 };
48 };
49
55 explicit ContentFilterProperty(
56 const AllocationConfiguration& config)
57 : expression_parameters(config.expression_parameters)
58 {
59 filter_expression.reserve(config.expression_initial_size);
60 }
61
63 fastcdr::string_255 content_filtered_topic_name;
65 fastcdr::string_255 related_topic_name;
68 fastcdr::string_255 filter_class_name;
71 std::string filter_expression;
73 fastdds::ResourceLimitedVector<fastcdr::string_255, std::true_type> expression_parameters;
74};
75
76} // namespace rtps
77} // namespace fastdds
78} // namespace eprosima
79
80#endif // FASTDDS_RTPS_BUILTIN_DATA__CONTENTFILTERPROPERTY_HPP
eprosima::fastdds::ResourceLimitedVector
Resource limited wrapper of std::vector.
Definition ResourceLimitedVector.hpp:59
eprosima::fastdds::rtps::ContentFilterProperty::related_topic_name
fastcdr::string_255 related_topic_name
Name of the related topic being filtered.
Definition ContentFilterProperty.hpp:65
eprosima::fastdds::rtps::ContentFilterProperty::expression_parameters
fastdds::ResourceLimitedVector< fastcdr::string_255, std::true_type > expression_parameters
List of values for the parameters present on the filter expression.
Definition ContentFilterProperty.hpp:73
eprosima::fastdds::rtps::ContentFilterProperty::filter_class_name
fastcdr::string_255 filter_class_name
Class name of the filter being used.
Definition ContentFilterProperty.hpp:68
eprosima::fastdds::rtps::ContentFilterProperty::filter_expression
std::string filter_expression
Filter expression indicating which content the reader wants to receive.
Definition ContentFilterProperty.hpp:71
eprosima::fastdds::rtps::ContentFilterProperty::content_filtered_topic_name
fastcdr::string_255 content_filtered_topic_name
Name of the content filtered topic on which the reader was created.
Definition ContentFilterProperty.hpp:63
eprosima::fastdds::rtps::ContentFilterProperty::ContentFilterProperty
ContentFilterProperty(const AllocationConfiguration &config)
Construct a ContentFilterProperty.
Definition ContentFilterProperty.hpp:55
eprosima::fastdds::rtps
Contains the RTPS protocol implementation.
eprosima::fastdds
eprosima
eProsima namespace.
eprosima::fastdds::ResourceLimitedContainerConfig
Specifies the configuration of a resource limited collection.
Definition ResourceLimitedContainerConfig.hpp:36
eprosima::fastdds::rtps::ContentFilterProperty::AllocationConfiguration
Allocation configuration for a ContentFilterProperty.
Definition ContentFilterProperty.hpp:43
eprosima::fastdds::rtps::ContentFilterProperty::AllocationConfiguration::expression_initial_size
size_t expression_initial_size
Preallocated size of the filter expression.
Definition ContentFilterProperty.hpp:45
eprosima::fastdds::rtps::ContentFilterProperty::AllocationConfiguration::expression_parameters
fastdds::ResourceLimitedContainerConfig expression_parameters
Allocation configuration for the list of expression parameters.
Definition ContentFilterProperty.hpp:47