Fast DDS  Version 3.3.0
Fast DDS
Loading...
Searching...
No Matches
IContentFilter.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__ICONTENTFILTER_HPP
20#define FASTDDS_DDS_TOPIC__ICONTENTFILTER_HPP
21
22#include <fastdds/fastdds_dll.hpp>
23
24#include <fastdds/rtps/common/Guid.hpp>
25#include <fastdds/rtps/common/SampleIdentity.hpp>
26#include <fastdds/rtps/common/SerializedPayload.hpp>
27#include <fastdds/rtps/common/WriteParams.hpp>
28
29namespace eprosima {
30namespace fastdds {
31namespace dds {
32
37{
38 virtual ~IContentFilter() = default;
39
42
68
78 virtual bool evaluate(
79 const SerializedPayload& payload,
80 const FilterSampleInfo& sample_info,
81 const GUID_t& reader_guid) const = 0;
82};
83
84} // namespace dds
85} // namespace fastdds
86} // namespace eprosima
87
88#endif // FASTDDS_DDS_TOPIC__ICONTENTFILTER_HPP
This class is used to specify a sample.
Definition SampleIdentity.hpp:34
This class contains additional information of a CacheChange.
Definition WriteParams.hpp:36
Definition BuiltinTopicKey.hpp:26
eProsima namespace.
Selected information from the cache change that is passed to the content filter object on payload eva...
Definition IContentFilter.hpp:48
eprosima::fastdds::rtps::SampleIdentity SampleIdentity
Definition IContentFilter.hpp:49
SampleIdentity sample_identity
Identity of the sample being filtered.
Definition IContentFilter.hpp:62
FilterSampleInfo(const rtps::WriteParams &wparams)
Definition IContentFilter.hpp:53
SampleIdentity related_sample_identity
Identity of a sample related to the one being filtered.
Definition IContentFilter.hpp:64
std::shared_ptr< fastdds::rtps::WriteParams::UserWriteData > user_write_data
Extra write information that can be used by the prefilter.
Definition IContentFilter.hpp:66
The interface that content filter objects should implement.
Definition IContentFilter.hpp:37
virtual bool evaluate(const SerializedPayload &payload, const FilterSampleInfo &sample_info, const GUID_t &reader_guid) const =0
Evaluate if a serialized payload should be accepted by certain reader.
eprosima::fastdds::rtps::SerializedPayload_t SerializedPayload
Definition IContentFilter.hpp:40
fastdds::rtps::GUID_t GUID_t
Definition IContentFilter.hpp:41
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Structure SerializedPayload_t.
Definition SerializedPayload.hpp:59