All of lore.kernel.org
 help / color / mirror / Atom feed
From: rajyalakshmi bommaraju <rajyalakshmi.bommaraju@intel.com>
To: ofono@ofono.org
Subject: Re: Please comment on callhistory API
Date: Mon, 27 Sep 2010 13:38:55 -0700	[thread overview]
Message-ID: <4CA100DF.40402@intel.com> (raw)
In-Reply-To: <1285609846.9845.11.camel@aeonflux>

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

Marcel,

org.ofono.History will be the main adapter interface and 
org.ofono.CallHistoryAgent the callhistory agent and 
org.ofono.SmsHistoryAgent as the sms history agent. I want to seperate 
the two agents so that sms app will expose sms history agent and dialer 
will register and expose callhistory agent. Then it will be clear which 
agent is interested in which history, vs one org.ofono.HistoryAgent 
exposing ReportCall and ReportTextMessage methods. In the later case 
adapter needs to flush both smshistory and callsistory onto two agents 
even though agents are not interested only in type of history.

Does it sound reasonable?
Thanks,
Raji

Marcel Holtmann wrote:
> Hi Raji,
>
>   
>> CallHistory hierarchy
>> =============
>>
>> Service : org.ofono
>> Interface : org.ofono.CallHistory
>> Object path : [variable prefix]/{modem0,modem1,...}/CallHistory
>>     
>
> the object path is wrong here. This should be pretty much on the main /
> object path. And not on per modem and not in a sub-path.
>
> I really don't think that per modem history makes sense. Denis?
>
>   
>> Methods 	void RegisterAgent (objectpath)
>>
>> 			RegisterAgent method registers the agent object path. Methods on this 
>> 			agent will be called if history needs to push data.
>>
>> 			Possible Errors: [service].Error.InvalidArguments
>> 			[service].Error.InvalidFormat
>> 			[service].Error.InUse
>>
>> 		void UnregisterAgent (objectpath)
>>
>> 			UnregisterAgent method unregister the already registered agent object path.
>>
>> 			Possible Errors: [service].Error.InvalidArguments
>> 			[service].Error.InvalidFormat
>> 			[service].Error.InUse
>>
>> CallHistoryAgent hierarchy
>> ================
>>
>> Service Name : Unique Name
>> Interface : org.ofono.CallHistoryAgent
>> Objectpath : Freely definable
>>     
>
> So I am actually thinking this should be just History and HistoryAgent
> interfaces. Since we can differentiate between different types by the
> different methods in the agent.
>
>   
>> Methods 	void SendHistory( array{dict})
>>
>> 			This method gets called by ofono to deliver an array of records. Each 
>> 			record is represented as a dictionary, all the dict properties are 
>> 			described in the "Properties" section.
>>
>> 			Possible Errors: [service].Error.Unsuccessful
>>     
>
> We have to do some semantical things here first. So you proposal here is
> to do org.ofono.CallHistoryAgent.SendHistory. The "History" part is used
> twice here. That is never a good idea. Also it is not really sending a
> history per se. It is more reporting one and just one at a time. So it
> is not history it reports, it is a call.
>
> So my proposal here is just to have one method for ReportCall and
> another one for ReportTextMessage etc.
>
>   
>> 		void Release()
>> 			Cleans up agent, assumes that agent is already unregistered, so not 
>> 			needed to unregister.
>>
>> Properties
>> =======
>> 		integer Uid [Read Only]
>> 			Integer representing the unique id of the history record
>>     
>
> In this case I would prefer UID as value and in uint32 please. D-Bus
> doesn't have an integer type.
>
> Also do we actually need this? Denis?
>
>   
>> 		string Calltype [Read Only]
>> 			string representing the call type. Call type can be one of the following 
>> 			three alternatives
>> 			"outgoing" - it is an outgoing call
>> 			"incoming" - it is an incoming call
>> 			"missed" - it is a missed call
>>     
>
> If is is the call history dict then just Type is good enough. No idea to
> duplicate the work Call all over the place.
>
>   
>> 		string LineIdentification [Read Only]
>> 			string representing the LineIdentification , for outgoing call it is the 
>> 			phone number dialed. For Incoming call it is the CLIP, or COLP if 
>> 			received by the underlying implementation.
>>
>> 		string StartTime [Read Only]
>> 			String representing start time of the call
>>
>> 		string EndTime [Read Only]
>> 			String representing end time of the call
>>     
>
> These looks fine.
>
> Regards
>
> Marcel
>
>
> _______________________________________________
> ofono mailing list
> ofono(a)ofono.org
> http://lists.ofono.org/listinfo/ofono
>   


  reply	other threads:[~2010-09-27 20:38 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-23 20:28 Please comment on callhistory API rajyalakshmi bommaraju
2010-09-24  1:17 ` Marcel Holtmann
2010-09-24 22:00   ` rajyalakshmi bommaraju
2010-09-27 17:50     ` Marcel Holtmann
2010-09-27 20:38       ` rajyalakshmi bommaraju [this message]
2010-09-27 22:21         ` Marcel Holtmann
2010-09-27 23:30           ` rajyalakshmi bommaraju
2010-09-28 14:08             ` Marcel Holtmann
2010-09-30 18:41               ` rajyalakshmi bommaraju
2010-10-01  7:33                 ` Marcel Holtmann
2010-10-20 23:38                   ` rajyalakshmi bommaraju
2010-09-27 23:08       ` Denis Kenzior
2010-09-27 23:14         ` Marcel Holtmann
2010-09-27 23:18           ` Denis Kenzior

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=4CA100DF.40402@intel.com \
    --to=rajyalakshmi.bommaraju@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 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.