RE: [PATCH v2] obex: Add messages_get_message() implementation for MAP plugin

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi @linux-bluetooth@xxxxxxxxxxxxxxx,
Please review the below patch.
Gentle reminder.

> -----Original Message-----
> From: Amisha Jain <quic_amisjain@xxxxxxxxxxx>
> Sent: Thursday, February 6, 2025 10:19 PM
> To: linux-bluetooth@xxxxxxxxxxxxxxx
> Cc: Mohammed Sameer Mulla (QUIC) <quic_mohamull@xxxxxxxxxxx>;
> Harish Bandi (QUIC) <quic_hbandi@xxxxxxxxxxx>; Anubhav Gupta (QUIC)
> <quic_anubhavg@xxxxxxxxxxx>
> Subject: [PATCH v2] obex: Add messages_get_message() implementation for
> MAP plugin
> 
> GET Message() operation should be supported for passing below PTS
> testcases - 1.MAP/MSE/MMB/BV-12-C Verify that the MSE can return an email
> message to the MCE.
> 2.MAP/MSE/MMB/BV-13-C
> Verify that the MSE can return a SMS message in native format to the MCE.
> 3.MAP/MSE/MMB/BV-14-C
> Verify that the MSE can return a SMS message with text trans-coded to UTF-8
> to the MCE.
> 
> ---
>  obexd/plugins/mas.c            |  4 ++--
>  obexd/plugins/messages-dummy.c | 32
> +++++++++++++++++++++++++++++++-
>  2 files changed, 33 insertions(+), 3 deletions(-)
> 
> diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c index
> 10b972d65..f63fcf6c6 100644
> --- a/obexd/plugins/mas.c
> +++ b/obexd/plugins/mas.c
> @@ -612,11 +612,11 @@ static void *message_open(const char *name, int
> oflag, mode_t mode,
>  		return NULL;
>  	}
> 
> +	mas->buffer = g_string_new("");
> +
>  	*err = messages_get_message(mas->backend_data, name, 0,
>  			get_message_cb, mas);
> 
> -	mas->buffer = g_string_new("");
> -
>  	if (*err < 0)
>  		return NULL;
>  	else
> diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-
> dummy.c index e313c6163..93648831a 100644
> --- a/obexd/plugins/messages-dummy.c
> +++ b/obexd/plugins/messages-dummy.c
> @@ -516,7 +516,37 @@ int messages_get_message(void *session, const char
> *handle,
>  					messages_get_message_cb callback,
>  					void *user_data)
>  {
> -	return -ENOSYS;
> +	struct session *s =  session;
> +	FILE *fp;
> +	char *path;
> +	char buffer[1024];
> +
> +	DBG(" ");
> +	path = g_build_filename(s->cwd_absolute, handle, NULL);
> +	fp = fopen(path, "r");
> +	if (fp == NULL)
> +	{
> +		DBG("fopen() failed");
> +		return -EBADR;
> +	}
> +
> +	/* 1024 is the maximum size of the line which is calculated to be more
> +	 * sufficient*/
> +	while (fgets(buffer, 1024, fp)) {
> +		if (callback)
> +		{
> +			callback(session, 0, 0, (const char*)buffer, user_data);
> +		}
> +	}
> +
> +	if (callback)
> +	{
> +		callback(session, 0, 0, NULL, user_data);
> +	}
> +
> +	g_free(path);
> +	fclose(fp);
> +	return 0;
>  }
> 
>  int messages_update_inbox(void *session, messages_status_cb callback,
> --
> 2.34.1
> 






[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux