commit | 28b4a3b38737f29b98e0e19aefd92b2454165040 | [log] [tgz] |
---|---|---|
author | Prathmesh Prabhu <pprabhu@chromium.org> | Fri Mar 28 11:52:09 2014 -0700 |
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | Fri Apr 11 03:56:15 2014 +0000 |
tree | 084f63dd006ed347bade0c5a9ad66ad8458cd543 | |
parent | 2fa7bc4fa04f9fa34f40691423e6ad8ecaf88637 [diff] |
shill: cellular: Add MobileOperatorInfo. MobileOperatorInfo is a new event based object to get information about mobile operators. It will replace CellularOperatorInfo and mobile_provider_db. In addition to accessing the mobile oprator database, this object wraps the logic required to determine the mobile operator given identifying information, and exposes an Observer interface for other objects to be notified whenever the mobile operator has been successfully identified. This CL specifically: - Adds the |MobileOperatorInfo| interface object. This is the object exposed to clients. - Creates |MobileOperatorInfo| objects and decides ownership. - Implements |MobileOperatorInfoImpl|, the internal object that |MobileOperatorInfo| forwards all requests to. It receives updates from the |Capability*| classes, and having determined an M[V]NO, notfies the |Observer| objects created by |Cellular|. - Wires up the cellular objects to - Send updates to the two |MobileOperatorInfo| objects from the capabilities. - Use observers in |Cellular| to act whenever an M[V]NO is determined. Note that the old code paths for determining the MNO, that are spread over the |Cellular|, |Capability*|, and the |CellularService| classes still exist, so that |Cellular| will recieve duplicate updates about |home_provider| and |serving_operator|. These old code paths will be removed in a following CL. BUG=chromium:352237 TEST=(1) Shill unittests. (2) Manual testing of cellular device on e362, gobi modems, alt3100, y3400, and some cellular dongles. CQ-DEPEND=CL:190188 Change-Id: I2d5af413110cdd5a4f71389f3f3c79b846a97c2a Reviewed-on: https://chromium-review.googlesource.com/192145 Tested-by: Prathmesh Prabhu <pprabhu@chromium.org> Reviewed-by: Thieu Le <thieule@chromium.org> Reviewed-by: Ben Chan <benchan@chromium.org> Commit-Queue: Ben Chan <benchan@chromium.org>