WebAPI/WebTelephony/Multi-SIM: Difference between revisions

rilproxy data
(rilproxy data)
Line 121: Line 121:
[[File:B2G_multisims_arch_20121031.png|435x540px|Proposal: B2G Architecture for Multi-SIMs]]
[[File:B2G_multisims_arch_20121031.png|435x540px|Proposal: B2G Architecture for Multi-SIMs]]


==== RIL Implementation ====
We are proposing to add a new object called 'MSimRadioInterfaceLayer', which takes responsibility of creating RadioInterfaceLayer instances for every SIM, getting worker of each instance and receiving IPC messages. Once it receives the IPC messages, it dispatch the messages to the right RadioInterfaceLayer instance according to the 'subscriptionId' property. Then it is that instance to handle those messages. It is also each instacne's job to send messages to content.
In order to adding MSimRadioInterfaceLayer, we need to modify 'SystemWorkerManager.cpp' to create an instance of MSimRadioInterfaceLayer, instead of what it is doing, i.e. creating an instance of RadioInterfaceLayer.
===== rilproxy =====
Message format between rilproxy and rild needs to be revised accordingly.
The single-SIM data format is showng as below.
[[File:Data_bw_rilproxy_rild.png‎|267x186px|Single-SIM Data Format between rilproxy and rild]]
==== Internal API: nsIRILContentHelper.idl ====
==== Internal API: nsIRILContentHelper.idl ====
Even we create an instance for a SIM, we might still need to add 『index』, used for connecting a telephony object (phoneIndex) and a specific 『SIM slot』 due to the limits of the IPC mechanism.  
Even we create an instance for a SIM, we might still need to add 『index』, used for connecting a telephony object (phoneIndex) and a specific 『SIM slot』 due to the limits of the IPC mechanism.  
Confirmed users
978

edits