1 // 2 // Copyright (C) 2014 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 #ifndef UPDATE_ENGINE_UPDATE_MANAGER_FAKE_SHILL_PROVIDER_H_ 18 #define UPDATE_ENGINE_UPDATE_MANAGER_FAKE_SHILL_PROVIDER_H_ 19 20 #include "update_engine/update_manager/fake_variable.h" 21 #include "update_engine/update_manager/shill_provider.h" 22 23 namespace chromeos_update_manager { 24 25 // Fake implementation of the ShillProvider base class. 26 class FakeShillProvider : public ShillProvider { 27 public: FakeShillProvider()28 FakeShillProvider() {} 29 var_is_connected()30 FakeVariable<bool>* var_is_connected() override { 31 return &var_is_connected_; 32 } 33 var_conn_type()34 FakeVariable<chromeos_update_engine::ConnectionType>* var_conn_type() 35 override { 36 return &var_conn_type_; 37 } 38 39 FakeVariable<chromeos_update_engine::ConnectionTethering>* var_conn_tethering()40 var_conn_tethering() override { 41 return &var_conn_tethering_; 42 } 43 var_conn_last_changed()44 FakeVariable<base::Time>* var_conn_last_changed() override { 45 return &var_conn_last_changed_; 46 } 47 48 private: 49 FakeVariable<bool> var_is_connected_{"is_connected", kVariableModePoll}; 50 FakeVariable<chromeos_update_engine::ConnectionType> var_conn_type_{ 51 "conn_type", kVariableModePoll}; 52 FakeVariable<chromeos_update_engine::ConnectionTethering> var_conn_tethering_{ 53 "conn_tethering", kVariableModePoll}; 54 FakeVariable<base::Time> var_conn_last_changed_{ 55 "conn_last_changed", kVariableModePoll}; 56 57 DISALLOW_COPY_AND_ASSIGN(FakeShillProvider); 58 }; 59 60 } // namespace chromeos_update_manager 61 62 #endif // UPDATE_ENGINE_UPDATE_MANAGER_FAKE_SHILL_PROVIDER_H_ 63