Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Side by Side Diff: chrome/browser/chromeos/cros/network_library.cc

Issue 7891021: Use stub impl when libcros fails to load (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix power manager stub impl Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/cros/network_library.h" 5 #include "chrome/browser/chromeos/cros/network_library.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <dbus/dbus-glib.h> 8 #include <dbus/dbus-glib.h>
9 #include <dbus/dbus-gtype-specialized.h> 9 #include <dbus/dbus-gtype-specialized.h>
10 #include <glib-object.h> 10 #include <glib-object.h>
(...skipping 4860 matching lines...) Expand 10 before | Expand all | Expand 10 after
4871 4871
4872 void NetworkLibraryImplStub::SetIPConfig(const NetworkIPConfig& ipconfig) { 4872 void NetworkLibraryImplStub::SetIPConfig(const NetworkIPConfig& ipconfig) {
4873 ip_configs_.push_back(ipconfig); 4873 ip_configs_.push_back(ipconfig);
4874 } 4874 }
4875 4875
4876 ///////////////////////////////////////////////////////////////////////////// 4876 /////////////////////////////////////////////////////////////////////////////
4877 4877
4878 // static 4878 // static
4879 NetworkLibrary* NetworkLibrary::GetImpl(bool stub) { 4879 NetworkLibrary* NetworkLibrary::GetImpl(bool stub) {
4880 NetworkLibrary* impl; 4880 NetworkLibrary* impl;
4881 // If CrosLibrary failed to load, use the stub implementation, since the
4882 // cros implementation would crash on any libcros call.
4883 if (!CrosLibrary::Get()->libcros_loaded()) {
4884 LOG(WARNING) << "NetworkLibrary: falling back to stub impl.";
4885 stub = true;
4886 }
4887 if (stub) 4881 if (stub)
4888 impl = new NetworkLibraryImplStub(); 4882 impl = new NetworkLibraryImplStub();
4889 else 4883 else
4890 impl = new NetworkLibraryImplCros(); 4884 impl = new NetworkLibraryImplCros();
4891 impl->Init(); 4885 impl->Init();
4892
4893 return impl; 4886 return impl;
4894 } 4887 }
4895 4888
4896 ///////////////////////////////////////////////////////////////////////////// 4889 /////////////////////////////////////////////////////////////////////////////
4897 4890
4898 } // namespace chromeos 4891 } // namespace chromeos
4899 4892
4900 // Allows InvokeLater without adding refcounting. This class is a Singleton and 4893 // Allows InvokeLater without adding refcounting. This class is a Singleton and
4901 // won't be deleted until its last InvokeLater is run. 4894 // won't be deleted until its last InvokeLater is run.
4902 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase); 4895 DISABLE_RUNNABLE_METHOD_REFCOUNT(chromeos::NetworkLibraryImplBase);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698