[Gpephone-devel] Examing inter-process communication (2) -- service
YU Yijun RD-ILAB-PEK
yijun.yu at orange-ftgroup.com
Mon Mar 26 05:58:55 CEST 2007
On the phone device, possibly a task may need several applications'
corporation. e.g, when you make a phone call from the dialer app, you
may want to start an address book app first, getting a phone number
there, and then call the corresponding contact. Here comes the concept
of service. The address book app is the service provider providing "get
a phone number" service; the dialer app is the service client requesting
the service of getting a phone number.
Both JSR 211 (Content handler) and Access Hiker Application Framework
(exchange manager, to be exact) have defined a similar service
mechanism. Each service is identified by a pair of action (verb in Hiker
framework) and mime type, e.g., dial (action) a phone number (mime
type). A service provider registers it to a service router as the
handler of a pair of action and mime type; the service router
permanently records which service is handled by which service provider;
A service client requests a service by issuing an action request on a
mime type, e.g., dailing a phone number, without knowing which
application will finally handle the request. Once the service request
arrives, an appropriate service provider is found out from the service
router and launched to handle the service request.
We may also implement this communication mechanism using DBus:
1) A set of action and mime type pairs need be defined. e.g., (dial,
phone number), (get, contact), etc.
2) Service request function need be provided
3) A service router need be implemented
The service router, service client and service provider are connected
each other by DBus.
Regards
Yu Yijun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.linuxtogo.org/pipermail/gpephone-devel/attachments/20070326/7afaeb25/attachment.htm
More information about the Gpephone-devel
mailing list