message_center.cc 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright (c) 2012 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 "ui/message_center/message_center.h"
  5. #include "ui/message_center/lock_screen/empty_lock_screen_controller.h"
  6. #include "ui/message_center/message_center_impl.h"
  7. namespace message_center {
  8. //------------------------------------------------------------------------------
  9. namespace {
  10. static MessageCenter* g_message_center = nullptr;
  11. }
  12. // static
  13. void MessageCenter::Initialize() {
  14. Initialize(std::make_unique<EmptyLockScreenController>());
  15. }
  16. // static
  17. void MessageCenter::Initialize(
  18. std::unique_ptr<LockScreenController> lock_screen_controller) {
  19. DCHECK(!g_message_center);
  20. DCHECK(lock_screen_controller);
  21. g_message_center = new MessageCenterImpl(std::move(lock_screen_controller));
  22. }
  23. // static
  24. MessageCenter* MessageCenter::Get() {
  25. return g_message_center;
  26. }
  27. // static
  28. void MessageCenter::Shutdown() {
  29. DCHECK(g_message_center);
  30. delete g_message_center;
  31. g_message_center = nullptr;
  32. }
  33. MessageCenter::MessageCenter() {}
  34. MessageCenter::~MessageCenter() {}
  35. } // namespace message_center