From: Marcel Holtmann <marcel@holtmann.org>
To: ofono@ofono.org
Subject: Re: [RFC] Add agent API to message atom
Date: Tue, 31 Aug 2010 08:37:40 -0400 [thread overview]
Message-ID: <1283258260.7452.13.camel@localhost.localdomain> (raw)
In-Reply-To: <AANLkTi=Sbv=KB5gTCN4dd-iaF=y7gT-r3mJ_FvkgRk+3@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 4590 bytes --]
Hi Aki,
> >> + void RegisterApplicationAgent(object path, uint dest, uint src)
> >> +
> >> + Registers an agent to receive application messages.
> >> +
> >> + The object path defines the path of the agent that
> >> + will be called when an application message is ready
> >> + to be dispatched.
> >> +
> >> + The dest parameter is the destination application
> >> + port number, and the src parameter is the optional
> >> + source application port number.
> >> +
> >> + Possible Errors: [service].Error.InvalidArguments
> >> + [service].Error.InvalidFormat
> >> + [service].Error.InUse
> >> +
> >> + void UnregisterAgent(object path)
> >> +
> >> + Unregisters an agent. If no agent is registered
> >> + that matches the type of an arriving message, it is
> >> + silently dropped.
> >> +
> >> + Possible Errors: [service].Error.InvalidArguments
> >> + [service].Error.InvalidFormat
> >> + [service].Error.NotFound
> >> + [service].Error.NotAuthorized
> >> +
> >
> > I prefer if we can do a RegisterAgent and UnregisterAgent like we have
> > in the STK interface. This makes it a lot more consistent throughout the
> > whole oFono APIs.
>
> Ok.
>
> > This of course means that we need a bit more intelligent matching of the
> > handled types. In general I am against the overhead of regex for this. I
> > prefer glob style matching with just * and ?. That should be good
> > enough. If you really need regex pattern matching then then I think a
> > specialized oFono plugin with its own APIs is the way to go.
>
> This was basically what I was thinking, too, with the addition of ^
> and $ for matching at the end or beginning of a message.
within GLib we have glob pattern matching functions, but nothing that
additionally takes ^ and $. Why do you think this would be useful and
needed? How many message agents to you expect to be running that are not
using port numbers? Do you have some examples messages in mind?
> >> +Methods void ImmediateMessage(string message, dict info)
> >> +
> >> + New immediate (class 0) SMS received. Info has Sender,
> >> + LocalSentTime, and SentTime information. Sender
> >> + address is given in string format. LocalSentTime and
> >> + SentTime are given in string form using ISO8601 format.
> >
> > Should these really be delivered via an agent?
>
> Why not?
These class 0 message are special and I think the home screen applet can
just use the current D-Bus signal to deal with them. I don't think that
we need special handling for them.
> >> + void IncomingMessage(string message, dict info)
> >> +
> >> + New incoming text SMS received. Info has Sender,
> >> + LocalSentTime, and SentTime information.
> >> +
> >> + void IncomingPush(array{byte} message, dict info)
> >> +
> >> + New incoming push message received. Info has Sender,
> >> + LocalSentTime, SentTime, and ApplicationId information.
> >> +
> >> + void IncomingApplication(array{byte} message, dict info)
> >> +
> >> + New incoming application message received. Info has
> >> + Sender, LocalSentTime, SentTime, DestinationPort, and
> >> + SourcePort information.
> >
> > Why the difference between Push and Application. The dict could be
> > easily used here to differentiate.
>
> True. And in fact we discussed this in IRC with Denis a bit and
> decided that separating WAP push makes little sense overall. If the
> agent needs to decode the WSP anyway, we're not providing much value
> add in oFono just decoding the X-Wap-Application-Id header field. So
> the agent might as well just use the application ports to register.
Personally I like the idea of doing the whole WSP decoding inside oFono,
but if we have WAP Push over IP transport and the WAP Push daemon has to
do the decoding again anyway, this seems to be not a good idea.
Regards
Marcel
next prev parent reply other threads:[~2010-08-31 12:37 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-30 15:50 [RFC] Add agent API to message atom Aki Niemi
2010-08-31 0:06 ` Marcel Holtmann
2010-08-31 6:15 ` Aki Niemi
2010-08-31 12:37 ` Marcel Holtmann [this message]
2010-08-31 15:04 ` Denis Kenzior
2010-09-01 5:57 ` Aki Niemi
2010-09-01 12:40 ` Marcel Holtmann
2010-08-31 3:37 ` Zhang, Caiwen
2010-08-31 6:20 ` Aki Niemi
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=1283258260.7452.13.camel@localhost.localdomain \
--to=marcel@holtmann.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.