| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
IContentFilterFactory Struct Referenceabstract

The interface that a factory of IContentFilter objects should implement. More...

`#include <IContentFilterFactory.hpp>`

## Public Types

using | ParameterSeq = LoanableTypedCollection<const char*>

## Public Member Functions

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.
virtual ReturnCode_t | delete_content_filter (const char *filter_class_name, IContentFilter *filter_instance)=0
| Delete an IContentFilter instance.

## Detailed Description

The interface that a factory of IContentFilter objects should implement.

## Member Typedef Documentation

## ◆ ParameterSeq

using ParameterSeq = LoanableTypedCollection<const char*>

## Member Function Documentation

## ◆ 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 )

pure virtual

Create or update an IContentFilter instance.

Parameters

  [in] | filter_class_name | Filter class name for which the factory is being called. Allows using the same factory for different filter classes.
  [in] | type_name | Type name of the topic being filtered.
  [in] | data_type | Type support object of the topic being filtered.
  [in] | filter_expression | Content filter expression. May be nullptr when updating the parameters of a filter instance.
  [in] | filter_parameters | Values to set for the filter parameters (n on the filter expression).

  [in,out]

  filter_instance

  When a filter is being created, it will be nullptr on input, and will have the pointer to the created filter instance on output. The caller takes ownership of the filter instance returned. When a filter is being updated, it will have a previously returned pointer on input. The method takes ownership of the filter instance during its execution, and can update the filter instance or even destroy it and create a new one. The caller takes ownership of the filter instance returned. It should always have a valid pointer upon return. The original state of the filter instance should be preserved when an error is returned.

Returns
  A return code indicating the result of the operation.

## ◆ delete_content_filter()

virtual ReturnCode_t delete_content_filter | ( | const char * | filter_class_name,
|  | IContentFilter * | filter_instance )

pure virtual

Delete an IContentFilter instance.

Parameters

  [in] | filter_class_name | Filter class name for which the factory is being called. Allows using the same factory for different filter classes.
  [in] | filter_instance | A pointer to a filter instance previously returned by create_content_filter. The factory takes ownership of the filter instance, and can decide to destroy it or keep it for future use. In case of deletion, note this pointer must be downcasted to the derived class.

Returns
  A return code indicating the result of the operation.

The documentation for this struct was generated from the following file:

- include/fastdds/dds/topic/IContentFilterFactory.hpp