From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============4781716245188708796==" MIME-Version: 1.0 From: Marcel Holtmann Subject: Re: Please comment on callhistory API Date: Tue, 28 Sep 2010 02:50:46 +0900 Message-ID: <1285609846.9845.11.camel@aeonflux> In-Reply-To: <4C9D1F60.6090005@intel.com> List-Id: To: ofono@ofono.org --===============4781716245188708796== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Raji, > CallHistory hierarchy > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = > 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 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = > 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 > =3D=3D=3D=3D=3D=3D=3D > 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 followi= ng = > 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 t= he = > 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 --===============4781716245188708796==--