// Copyright 2017 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef ASH_TEST_MEDIA_CLIENT_H_ #define ASH_TEST_MEDIA_CLIENT_H_ #include "ash/public/cpp/media_client.h" namespace ash { // Implement MediaClient mojo interface to simulate chrome behavior in tests. // This breaks the ash/chrome dependency to allow testing ash code in isolation. class TestMediaClient : public MediaClient { public: TestMediaClient(); TestMediaClient(const TestMediaClient&) = delete; TestMediaClient& operator=(const TestMediaClient&) = delete; ~TestMediaClient() override; // MediaClient: void HandleMediaNextTrack() override; void HandleMediaPlayPause() override; void HandleMediaPlay() override; void HandleMediaPause() override; void HandleMediaStop() override; void HandleMediaPrevTrack() override; void HandleMediaSeekBackward() override; void HandleMediaSeekForward() override; void RequestCaptureState() override; void SuspendMediaSessions() override; int handle_media_next_track_count() const { return handle_media_next_track_count_; } int handle_media_play_pause_count() const { return handle_media_play_pause_count_; } int handle_media_play_count() const { return handle_media_play_count_; } int handle_media_pause_count() const { return handle_media_pause_count_; } int handle_media_stop_count() const { return handle_media_pause_count_; } int handle_media_prev_track_count() const { return handle_media_prev_track_count_; } int handle_media_seek_backward_count() const { return handle_media_seek_backward_count_; } int handle_media_seek_forward_count() const { return handle_media_seek_forward_count_; } bool media_sessions_suspended() const { return media_sessions_suspended_; } private: int handle_media_next_track_count_ = 0; int handle_media_play_pause_count_ = 0; int handle_media_play_count_ = 0; int handle_media_pause_count_ = 0; int handle_media_stop_count_ = 0; int handle_media_prev_track_count_ = 0; int handle_media_seek_backward_count_ = 0; int handle_media_seek_forward_count_ = 0; bool media_sessions_suspended_ = false; }; } // namespace ash #endif // ASH_TEST_MEDIA_CLIENT_H_