Source code for elos/event/event_vector.h

// SPDX-License-Identifier: MIT

#ifndef ELOS_EVENT_VECTOR_H
#define ELOS_EVENT_VECTOR_H
#include "elos/event/event.h" #include "safu/common.h" #include "safu/vector.h"
[docs]/******************************************************************* * Allocate a new event vector. * * Parameters: * eventVector (elosEventVector_t **): The vector to allocate. * elements (uint32_t): the number of elements to allocate. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorNew(elosEventVector_t **eventVector, uint32_t elements);
[docs]/******************************************************************* * Parameters: * eventVector (elosEventVector_t *): the event vector to initialize. * elements (uint32_t): the number of elements to initialize. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorInitialize(elosEventVector_t *eventVector, uint32_t elements);
[docs]/******************************************************************* * Serialize an event vector. * * Parameters: * eventVector (elosEventVector_t *): the event vector to serialize. * sEventVector (char **): the string to serialize into. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorSerialize(elosEventVector_t *eventVector, char **sEventVector);
[docs]/******************************************************************* * Convert an event vector into a JSON object. * * Parameters: * eventVector (elosEventVector_t *): the event vector to convert. * jEventVector (json_object **): the JSON object to convert into. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorToJsonObject(elosEventVector_t *eventVector, json_object **eventVecJobj);
[docs]/******************************************************************* * Convert an event vector into a JSON array. * * Parameters: * eventVector (elosEventVector_t *): the event vector to convert. * jEventVector (json_object **): the JSON Array to convert into. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorToJsonArray(elosEventVector_t *eventVector, json_object **jEventVector);
[docs]/******************************************************************* * Convert a JSON object into an event vector. * * Parameters: * eventVecJobj (json_object *): the JSON object to convert. * eventVector (elosEventVector_t **): the event vector to convert into. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorFromJsonObject(json_object *eventVecJobj, elosEventVector_t **eventVector);
[docs]/******************************************************************* * Convert a JSON array into an event vector. * * Parameters: * eventVecJobj (json_object *): the JSON array to convert. * eventVector (elosEventVector_t **): the event vector to convert into. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorFromJsonArray(json_object const *jEventArray, elosEventVector_t **eventVector);
[docs]/******************************************************************* * Push an elosEvent to an elosEventVector * * Parameters: * eventVector (elosEventVector_t *): the event vector to push into. * event (elosEvent_t const *): The event to be pushed. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorPush(elosEventVector_t *eventVector, elosEvent_t const *event);
[docs]/******************************************************************* * Push a newly allocated deep copy of an elosEvent to an elosEventVector * * Parameters: * eventVector (elosEventVector_t *): the event vector to push into. * event (elosEvent_t const *): The event to be copied. * Returns: * - `SAFU_RESULT_OK` on success, * - `SAFU_RESULT_FAILED` on failure. ******************************************************************/ safuResultE_t elosEventVectorPushDeepCopy(elosEventVector_t *eventVector, elosEvent_t const *event);
[docs]/******************************************************************* * Free the memomry of all members of an :c:type:`elosEventVector_t`. * * Parameters: * eventVector (elosEventVector_t *): the event vector to delete the members from ******************************************************************/ void elosEventVectorDeleteMembers(elosEventVector_t *eventVector);
[docs]/******************************************************************* * Free the memomry of an event vector. * * Parameters: * eventVector (elosEventVector_t *): the event vector to free. ******************************************************************/ void elosEventVectorDelete(elosEventVector_t *eventVector);
#endif /* ELOS_EVENT_VECTOR_H */