Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ | 5 #ifndef COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ |
| 6 #define COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ | 6 #define COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ |
| 7 | 7 |
| 8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "components/arc/arc_bridge_bootstrap.h" | 9 #include "components/arc/arc_bridge_bootstrap.h" |
| 10 #include "components/arc/test/fake_arc_bridge_instance.h" | 10 #include "components/arc/test/fake_arc_bridge_instance.h" |
| 11 | 11 |
| 12 namespace arc { | 12 namespace arc { |
| 13 | 13 |
| 14 // A fake ArcBridgeBootstrap that creates a local connection. | 14 // A fake ArcBridgeBootstrap that creates a local connection. |
| 15 class FakeArcBridgeBootstrap : public ArcBridgeBootstrap, | 15 class FakeArcBridgeBootstrap : public ArcBridgeBootstrap { |
| 16 public FakeArcBridgeInstance::Delegate { | |
| 17 public: | 16 public: |
| 18 explicit FakeArcBridgeBootstrap(FakeArcBridgeInstance* instance); | 17 FakeArcBridgeBootstrap(); |
| 19 ~FakeArcBridgeBootstrap() override = default; | 18 ~FakeArcBridgeBootstrap() override; |
| 20 | 19 |
| 21 // ArcBridgeBootstrap: | 20 // ArcBridgeBootstrap: |
| 22 void Start() override; | 21 void Start() override; |
| 23 void Stop() override; | 22 void Stop() override; |
| 24 | 23 |
| 24 // To emulate unexpected stop, such as crash. | |
| 25 void StopWithReason(ArcBridgeService::StopReason reason); | |
| 26 | |
| 27 // Follows control Start() behavior for testing various situations. | |
|
Luis Héctor Chávez
2016/09/07 23:38:32
nit: s/Follows/The following/
hidehiko
2016/09/08 16:53:41
Done.
| |
| 28 | |
| 29 // Enables/disables boot failure emulation, in which OnStopped(reason) will | |
| 30 // be called when Start() is called. | |
| 31 void EnableBootFailureEmulation(ArcBridgeService::StopReason reason); | |
| 32 | |
| 33 // Emulate Start() is suspended at some phase, before OnReady() is invoked. | |
| 34 void SuspendBoot(); | |
| 35 | |
| 25 private: | 36 private: |
| 26 // FakeArcBridgeInstance::Delegate: | 37 bool boot_failure_emulation_enabled_ = false; |
| 27 void OnStopped(ArcBridgeService::StopReason reason) override; | 38 ArcBridgeService::StopReason boot_failure_reason_; |
| 39 FakeArcBridgeInstance instance_; | |
| 28 | 40 |
| 29 // Owned by the caller. | 41 bool boot_suspended_ = false; |
| 30 FakeArcBridgeInstance* instance_; | |
| 31 | 42 |
| 32 DISALLOW_COPY_AND_ASSIGN(FakeArcBridgeBootstrap); | 43 DISALLOW_COPY_AND_ASSIGN(FakeArcBridgeBootstrap); |
| 33 }; | 44 }; |
| 34 | 45 |
| 35 } // namespace arc | 46 } // namespace arc |
| 36 | 47 |
| 37 #endif // COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ | 48 #endif // COMPONENTS_ARC_TEST_FAKE_ARC_BRIDGE_BOOTSTRAP_H_ |
| OLD | NEW |