Skip to content

Commit

Permalink
Merge pull request #315 from jean-roland/ft_keyexpr
Browse files Browse the repository at this point in the history
Add keyexpr_was_declared api function
  • Loading branch information
milyin authored Jan 12, 2024
2 parents d3a631f + f32cccd commit 53c6aa5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
15 changes: 14 additions & 1 deletion include/zenoh-pico/api/primitives.h
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,23 @@ z_owned_str_t z_keyexpr_to_string(z_keyexpr_t keyexpr);
*
* Returns:
* The :c:type:`z_bytes_t` pointing to key expression string representation if it's possible
*/
z_bytes_t z_keyexpr_as_bytes(z_keyexpr_t keyexpr);

/**
* Indicates if the key expression has been declared but don't guarantee it's still in session.
*
* If given keyexpr was declared, to retrieve the keyexpr string representation the user must use
* :c:func:zp_keyexpr_resolve
*
* Parameters:
* keyexpr: A loaned instance of :c:type:`z_keyexpr_t`
*
* Returns:
* Returns ``true`` if the keyexpr was declared or ``false`` otherwise.
*/
_Bool zp_keyexpr_was_declared(const z_keyexpr_t *keyexpr);

/**
* Constructs a null-terminated string departing from a :c:type:`z_keyexpr_t` for a given :c:type:`z_session_t`.
* The user is responsible of dropping the returned string using ``zp_free``.
Expand Down
8 changes: 8 additions & 0 deletions src/api/api.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@ z_bytes_t z_keyexpr_as_bytes(z_keyexpr_t keyexpr) {
}
}

_Bool zp_keyexpr_was_declared(const z_keyexpr_t *keyexpr) {
_Bool ret = false;
if (keyexpr->_id != Z_RESOURCE_ID_NONE) {
ret = true;
}
return ret;
}

z_owned_str_t zp_keyexpr_resolve(z_session_t zs, z_keyexpr_t keyexpr) {
z_owned_str_t ret = {._value = NULL};

Expand Down

0 comments on commit 53c6aa5

Please sign in to comment.