Open Source Telephony
 help / color / mirror / Atom feed
From: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
To: ofono@ofono.org
Subject: Re: [patch 13/20] SMS: encapsulate D-Bus specific data in 'struct sms_msg_dbus_data'
Date: Thu, 29 Jul 2010 14:47:49 -0700	[thread overview]
Message-ID: <1280440069.16826.80.camel@localhost.localdomain> (raw)
In-Reply-To: <4C4F12AA.3040501@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2672 bytes --]

On Tue, 2010-07-27 at 10:08 -0700, Denis Kenzior wrote: 
> Hi Inaky,
> 
> > +/*
> > + * Encapsulate information needed to export an SMS message over D-Bus.
> > + *
> > + * @dbus_path: path of the object in the D-Bus
> > + * @dbus_msg: message this originated at
> > + */
> > +struct sms_msg_dbus_data {
> > +	char *dbus_path;
> > +	DBusMessage *dbus_msg;
> > +};
> > +
> 
> I don't really see a point for this structure.  When you send an SMS,
> assuming the arguments and format were valid, you return straight away.
>  Thus SendMessage should be marked as not being ASYNC and storing of
> DBusMessage is unnecessary.  Rest can be handled by txq_submit and the
> dbus path can be easily generated based on the UUID.

First it serves as transitional storage -- later in the commit sequences
the dbus_msg is removed as it is, as you say, unneeded once all the code
is made sync. If at the end only one member is left (dbus_msg)

In our discussions to plan this stuff you said you wanted the D-Bus
unique name to contain the UUID and the number of PDUs
(/modemX/UUID_PDUs). That means I need to access the SMS object if I
want to generate the name on the fly. I need a backpointer for that.

Even if we remove the _PDUs requirement:

To generate on the fly whenever is needed we need to have access to who
is the 'parent' in:

- the destructor function, which is not going to be easy

- the PropertyChanged signal generator

which means that instead of storing a name I have to store, for example
the 'struct ofono_sms' that is the parent, get its name, figure out how
to pull the name of the SMS object from a UUID *and* then generate a
name *and* do the actual work.

That is not effective and adds more code. Generating the name once and
storing it is the simplest solution. If you want it out of the structure
that encapsulates it, well I can do that as a final follow up patch once
dbus_msg is no longer needed. It's syntactic sugar to enforce
encapsulation.

> >  /*
> > @@ -590,6 +604,9 @@ static void send_message_destroy(void *data)
> >   * is created by tx_queue_entry_new() and g_queue_push_tail()
> >   * appends that entry to the SMS transmit queue. Then the tx_next()
> >   * function is scheduled to run to process the queue.
> > + *
> > + * @sms is the main SMS driver struct, @entry and @msg_list represent
> > + * the current message being processed.
> >   */
> >  static DBusMessage *sms_send_message(DBusConnection *conn, DBusMessage *msg,
> >  					void *data)
> 
> This chunk seems totally unrelated...

Yep, it is -- this should be a separate doc commit. Thanks for catching
it.




  reply	other threads:[~2010-07-29 21:47 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-23 20:59 [patch 00/20] SMS D-Bus support and misc small patches Inaky Perez-Gonzalez
2010-07-23 20:59 ` [patch 01/20] bug.h: Add BUILD_BUG_ON() and friends for compile-time assert checking Inaky Perez-Gonzalez
2010-07-23 21:41   ` Denis Kenzior
2010-07-23 21:57     ` Inaky Perez-Gonzalez
2010-07-23 21:59       ` Denis Kenzior
2010-07-23 20:59 ` [patch 02/20] write_file: make transaction-safe Inaky Perez-Gonzalez
2010-07-23 21:57   ` Denis Kenzior
2010-07-23 22:31     ` Inaky Perez-Gonzalez
2010-07-23 20:59 ` [patch 03/20] manpage: explain debugging options to -d Inaky Perez-Gonzalez
2010-07-23 22:05   ` Denis Kenzior
2010-07-23 20:59 ` [patch 04/20] SMS: introduce message ID API Inaky Perez-Gonzalez
2010-07-27  0:10   ` Denis Kenzior
2010-07-23 20:59 ` [patch 05/20] introduce DECLARE_SMS_ADDR_STR() Inaky Perez-Gonzalez
2010-07-23 22:30   ` Denis Kenzior
2010-07-23 20:59 ` [patch 06/20] _assembly_encode_address: export and rename Inaky Perez-Gonzalez
2010-07-23 22:31   ` Denis Kenzior
2010-07-23 20:59 ` [patch 07/20] SMS: implement SHA256-based message IDs [incomplete] Inaky Perez-Gonzalez
2010-07-27 17:03   ` Denis Kenzior
2010-07-29 21:26     ` Inaky Perez-Gonzalez
2010-07-29 21:37       ` Denis Kenzior
2010-07-31  0:22         ` Inaky Perez-Gonzalez
2010-07-23 20:59 ` [patch 08/20] sms: document the org.ofono.SMSMessage D-Bus interface Inaky Perez-Gonzalez
2010-07-23 23:11   ` Denis Kenzior
2010-07-26 17:19     ` Inaky Perez-Gonzalez
2010-07-26 18:05       ` Denis Kenzior
2010-07-26 20:41         ` Inaky Perez-Gonzalez
2010-07-23 20:59 ` [patch 09/20] SMS: document handle_sms_status_report() Inaky Perez-Gonzalez
2010-07-23 20:59 ` [patch 10/20] sms_text_prepare: document @use_delivery_reports Inaky Perez-Gonzalez
2010-07-23 23:01   ` Denis Kenzior
2010-07-23 20:59 ` [patch 11/20] SMS: rename create_tx_queue_entry() to tx_queue_entry_new() Inaky Perez-Gonzalez
2010-07-23 23:02   ` Denis Kenzior
2010-07-26 20:49     ` Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 12/20] struct tx_queue_entry: add a destructor Inaky Perez-Gonzalez
2010-07-23 23:06   ` Denis Kenzior
2010-07-23 23:11     ` Inaky Perez-Gonzalez
2010-07-23 23:14       ` Denis Kenzior
2010-07-26 18:48         ` Inaky Perez-Gonzalez
2010-07-26 20:49     ` Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 13/20] SMS: encapsulate D-Bus specific data in 'struct sms_msg_dbus_data' Inaky Perez-Gonzalez
2010-07-27 17:08   ` Denis Kenzior
2010-07-29 21:47     ` Inaky Perez-Gonzalez [this message]
2010-07-29 22:17       ` Denis Kenzior
2010-07-29 23:23         ` Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 14/20] SMS: introduce bare state machine and transitions Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 15/20] SMS: introduce Wait-for-Status-Report state and infrastructure Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 16/20] SMS: introduce a state change callback for TX messages Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 17/20] SMS: export outgoing messages over D-Bus Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 18/20] SMS: send D-Bus SMS-MSG::PropertyChanged signals when message changes status Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 19/20] SMS: introduce sms_msg_cancel and its D-Bus wrapper Inaky Perez-Gonzalez
2010-07-27 17:16   ` Denis Kenzior
2010-07-30 23:12     ` Inaky Perez-Gonzalez
2010-07-23 21:00 ` [patch 20/20] SMS: Implement D-Bus SMS-MSG::GetProperties Inaky Perez-Gonzalez
2010-07-27 17:18   ` Denis Kenzior
2010-08-02 19:14     ` Inaky Perez-Gonzalez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1280440069.16826.80.camel@localhost.localdomain \
    --to=inaky.perez-gonzalez@intel.com \
    --cc=ofono@ofono.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox