commit | 12f113aa68bcb9084e342ab1b985caf1aded6f1c | [log] [tgz] |
---|---|---|
author | Wade Guthrie <wdg@chromium.org> | Tue Mar 12 17:15:46 2013 -0700 |
committer | ChromeBot <chrome-bot@google.com> | Thu Apr 11 21:20:12 2013 -0700 |
tree | 959dfe568cc282d218a34c3b93279e93e9541768 | |
parent | 89e6cb33c218c408f35f49e0e27186126525b183 [diff] |
shill: Splits the netlink message factory between message types. Provides a mechanism to register message factories with |NetlinkMessageFactory|. Splits |NetlinkMessageFactory| into a generic factory and one for |ControlNetlinkMessage| and |Nl80211Message|. Uses the registration mechanism to install the control and nl80211 message factories. This CL also moves |UnknownMessage| from being a subtype of |Nl80211Message| to being a subtype of |NetlinkMessage|. Lucy has some 'splaining to do: At startup time, the message type isn't known for some types of netlink message (notably, the nl80211 class of messages). This message type is discovered, in the code, through the |Config80211::AddFamilyByString| call. This CL adds a message factory closure to that call so that Config80211 can install the factory when the code knows the message type against which to register the factory. BUG=chromium:220372 TEST=unittest and manual (restarted shill with log=-10,wifi and observed messages of all types being created for netlink messages coming from the kernel). Change-Id: I496b405c20ef98b6e23e96e8088fc542ff29264c Reviewed-on: https://gerrit.chromium.org/gerrit/45314 Commit-Queue: Wade Guthrie <wdg@chromium.org> Reviewed-by: Wade Guthrie <wdg@chromium.org> Tested-by: Wade Guthrie <wdg@chromium.org>