media_controller.cc 725 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2019 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/public/cpp/media_controller.h"
  5. #include "base/check_op.h"
  6. namespace ash {
  7. namespace {
  8. MediaController* g_instance = nullptr;
  9. } // namespace
  10. template <>
  11. MediaController*&
  12. MediaController::ScopedResetterForTest::GetGlobalInstanceHolder() {
  13. return g_instance;
  14. }
  15. // static
  16. MediaController* MediaController::Get() {
  17. return g_instance;
  18. }
  19. MediaController::MediaController() {
  20. DCHECK(!g_instance);
  21. g_instance = this;
  22. }
  23. MediaController::~MediaController() {
  24. DCHECK_EQ(this, g_instance);
  25. g_instance = nullptr;
  26. }
  27. } // namespace ash