Reviewed-by: Nickle Wang <nick...@nvidia.com>
Regards,
Nickle
> -----Original Message-----
> From: abner.ch...@amd.com <abner.ch...@amd.com>
> Sent: Friday, January 12, 2024 11:24 AM
> To: devel@edk2.groups.io
> Cc: Nickle Wang <nick...@nvidia.com>; Igor Kulchytskyy <ig...@ami.com>
> Subject: [RESEND PATCH] RedfishPkg/JsonLib: Add JSON delete object function
>
> External email: Use caution opening links or attachments
>
>
> From: Abner Chang <abner.ch...@amd.com>
>
> Signed-off-by: Abner Chang <abner.ch...@amd.com>
> Cc: Nickle Wang <nick...@nvidia.com>
> Cc: Igor Kulchytskyy <ig...@ami.com>
> ---
> RedfishPkg/Include/Library/JsonLib.h | 17 +++++++++++++++++
> RedfishPkg/Library/JsonLib/JsonLib.c | 24 ++++++++++++++++++++++++
> 2 files changed, 41 insertions(+)
>
> diff --git a/RedfishPkg/Include/Library/JsonLib.h
> b/RedfishPkg/Include/Library/JsonLib.h
> index 8f31d934148..ea252291a0e 100644
> --- a/RedfishPkg/Include/Library/JsonLib.h
> +++ b/RedfishPkg/Include/Library/JsonLib.h
> @@ -656,6 +656,23 @@ JsonObjectSetValue (
> IN EDKII_JSON_VALUE Json
> );
>
> +/**
> + The function is used to delete a JSON key from the given JSON bject,
> +
> + @param[in] JsonObj The provided JSON object.
> + @param[in] Key The key of the JSON value to be
> deleted.
> +
> + @retval EFI_ABORTED Some error occur and operation aborted.
> + @retval EFI_SUCCESS The JSON value has been deleted from
> this
> JSON object.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +JsonObjectDelete (
> + IN EDKII_JSON_OBJECT JsonObj,
> + IN CONST CHAR8 *Key
> + );
> +
> /**
> The function is used to get the number of elements in a JSON array.
> Returns or 0
> if JsonArray
> is NULL or not a JSON array.
> diff --git a/RedfishPkg/Library/JsonLib/JsonLib.c
> b/RedfishPkg/Library/JsonLib/JsonLib.c
> index 6c3373d205c..b7be4d61766 100644
> --- a/RedfishPkg/Library/JsonLib/JsonLib.c
> +++ b/RedfishPkg/Library/JsonLib/JsonLib.c
> @@ -810,6 +810,30 @@ JsonObjectSetValue (
> }
> }
>
> +/**
> + The function is used to delete a JSON key from the given JSON bject
> +
> + @param[in] JsonObj The provided JSON object.
> + @param[in] Key The key of the JSON value to be
> deleted.
> +
> + @retval EFI_ABORTED Some error occur and operation aborted.
> + @retval EFI_SUCCESS The JSON value has been deleted from
> this
> JSON object.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +JsonObjectDelete (
> + IN EDKII_JSON_OBJECT JsonObj,
> + IN CONST CHAR8 *Key
> + )
> +{
> + if (json_object_del ((json_t *)JsonObj, (const char *)Key) != 0) {
> + return EFI_ABORTED;
> + } else {
> + return EFI_SUCCESS;
> + }
> +}
> +
> /**
> The function is used to get the number of elements in a JSON array.
> Returns or 0
> if JsonArray
> is NULL or not a JSON array.
> --
> 2.37.1.windows.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113860): https://edk2.groups.io/g/devel/message/113860
Mute This Topic: https://groups.io/mt/103676885/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-