Return-Path: MIME-Version: 1.0 In-Reply-To: <1413896899-29802-1-git-send-email-bharat.panda@samsung.com> References: <1413896899-29802-1-git-send-email-bharat.panda@samsung.com> Date: Wed, 22 Oct 2014 17:12:47 +0300 Message-ID: Subject: Re: [PATCH v3] obexd/mas: Add Support for MSETime filter From: Luiz Augusto von Dentz To: Bharat Panda Cc: "linux-bluetooth@vger.kernel.org" , cpgs@samsung.com Content-Type: text/plain; charset=UTF-8 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi, On Tue, Oct 21, 2014 at 4:08 PM, Bharat Panda wrote: > Changes made to add support for MSE local time and timezone offset > parameter along with GetMessageListing response. > --- > obexd/plugins/mas.c | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/obexd/plugins/mas.c b/obexd/plugins/mas.c > index fb97fe3..5b95b3a 100644 > --- a/obexd/plugins/mas.c > +++ b/obexd/plugins/mas.c > @@ -30,6 +30,7 @@ > #include > #include > #include > +#include > > #include > #include > @@ -228,6 +229,34 @@ static void g_string_append_escaped_printf(GString *string, > va_end(ap); > } > > +static gchar *get_mse_timestamp(void) > +{ > + struct timeval time_val; > + struct tm ltime; > + gchar *local_ts; > + char sign; > + > + gettimeofday(&time_val, NULL); > + > + if (!localtime_r(&time_val.tv_sec, <ime)) > + return NULL; > + > + if (difftime(mktime(localtime(&time_val.tv_sec)), > + mktime(gmtime(&time_val.tv_sec))) < 0) > + sign = '+'; > + else > + sign = '-'; > + > + local_ts = g_strdup_printf("%04d%02d%02dT%02d%02d%02d%c%2ld%2ld", > + ltime.tm_year + 1900, ltime.tm_mon + 1, > + ltime.tm_mday, ltime.tm_hour, > + ltime.tm_min, ltime.tm_sec, sign, > + ltime.tm_gmtoff/3600, > + (ltime.tm_gmtoff%3600)/60); > + > + return local_ts; > +} > + > static const char *yesorno(gboolean a) > { > if (a) > @@ -243,6 +272,7 @@ static void get_messages_listing_cb(void *session, int err, uint16_t size, > { > struct mas_session *mas = user_data; > uint16_t max = 1024; > + gchar *mse_time; > > if (err < 0 && err != -EAGAIN) { > obex_object_set_io_flags(mas, G_IO_ERR, err); > @@ -358,6 +388,13 @@ proceed: > mas->outparams = g_obex_apparam_set_uint8(mas->outparams, > MAP_AP_NEWMESSAGE, > newmsg ? 1 : 0); > + /* Response to report the local time of MSE */ > + mse_time = get_mse_timestamp(); > + if (mse_time) { > + g_obex_apparam_set_string(mas->outparams, > + MAP_AP_MSETIME, mse_time); > + g_free(mse_time); > + } > } > > if (err != -EAGAIN) > -- > 1.9.1 Applied, thanks. -- Luiz Augusto von Dentz