Source code for elos/eventfilter/builder.h

// SPDX-License-Identifier: MIT
#ifndef ELOS_EVENTFILTER_BUILDER_H
#define ELOS_EVENTFILTER_BUILDER_H
#include "elos/eventfilter/eventfilter.h" #include "elos/eventfilter/step_types.h" #include "elos/rpnfilter/builder.h"
#define elosEventFilterBuilderNew elosRpnFilterBuilderNew
#define elosEventFilterBuilderDelete elosRpnFilterBuilderDelete
typedef enum elosEventFilterBuilderTokenTypeE {
EVENTFILTER_TOKEN_EVENT = RPNFILTER_TOKEN_TYPE_COUNT,
EVENTFILTER_TOKEN_TYPE_COUNT,
} elosEventFilterBuilderTokenTypeE_t;
elosRpnFilterResultE_t elosEventFilterBuilderCompileToken(elosRpnFilterBuilderTokenEntry_t const *token, elosRpnFilterBuilder_t *data);
elosRpnFilterResultE_t elosEventFilterBuilderTokenize(elosRpnFilterBuilder_t *data);
[docs]/******************************************************************* * Function: elosEventFilterBuilderCompile *------------------------------------------------------------------ * Description: Converts tokens into fast to use instructions that * are validated by elosEventFilterBuilderFinalize() * used later by elosEventFilterExecute(). * Info: Used internally by elosEventFilterCreate(), * shouldn't be called directly in normal use cases. * * Input: Pointer to existing elosRpnFilterBuilder_t * * Return: - FILTER_RESULT_OK on success, * - FILTER_RESULT_ERROR on failure. ******************************************************************/ elosRpnFilterResultE_t elosEventFilterBuilderCompile(elosRpnFilterBuilder_t *data);
[docs]/******************************************************************* * Function: elosEventFilterBuilderFinalize *------------------------------------------------------------------ * Description: Checks the results from elosEventFilterBuilderCompile() * for errors and copies the results into a * elosRpnFilter_t structure that can be used * by elosEventFilterExecute(). * Info: Used internally by elosEventFilterCreate(), * shouldn't be called directly in normal use cases. * Input: Pointers to existing elosRpnFilterBuilder_t * and elosRpnFilter_t structures. * Return: - FILTER_RESULT_OK on success, * - FILTER_RESULT_ERROR on failure. ******************************************************************/ elosRpnFilterResultE_t elosEventFilterBuilderFinalize(elosRpnFilterBuilder_t *data, elosRpnFilter_t *filter);
#endif /* ELOS_EVENTFILTER_BUILDER_H */