shill: Start moving tehnology-specific functionality to capability delegates.
This basic patch demonstrates the intent to move CDMA/GSM-specific functionality
into capability delegates. This should reduce the conditional code in the
Cellular class and make it more readable and easier to maintain.
BUG=chromium-os:18735
TEST=unit tests
Change-Id: I80ee8682ff34810cf4a723119274450de4ae95a9
Reviewed-on: https://gerrit.chromium.org/gerrit/10775
Commit-Ready: Darin Petkov <petkov@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/cellular_capability_gsm.cc b/cellular_capability_gsm.cc
new file mode 100644
index 0000000..169e717
--- /dev/null
+++ b/cellular_capability_gsm.cc
@@ -0,0 +1,30 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/cellular_capability_gsm.h"
+
+#include <base/logging.h>
+
+#include "shill/cellular.h"
+#include "shill/proxy_factory.h"
+
+namespace shill {
+
+CellularCapabilityGSM::CellularCapabilityGSM(Cellular *cellular)
+ : CellularCapability(cellular) {}
+
+void CellularCapabilityGSM::InitProxies() {
+ VLOG(2) << __func__;
+ // TODO(petkov): Move GSM-specific proxy ownership from Cellular to this.
+ cellular()->set_modem_gsm_card_proxy(
+ proxy_factory()->CreateModemGSMCardProxy(cellular(),
+ cellular()->dbus_path(),
+ cellular()->dbus_owner()));
+ cellular()->set_modem_gsm_network_proxy(
+ proxy_factory()->CreateModemGSMNetworkProxy(cellular(),
+ cellular()->dbus_path(),
+ cellular()->dbus_owner()));
+}
+
+} // namespace shill