Fix emulator build error
[platform/framework/web/chromium-efl.git] / services / media_session / media_session_service_impl.h
1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef SERVICES_MEDIA_SESSION_MEDIA_SESSION_SERVICE_IMPL_H_
6 #define SERVICES_MEDIA_SESSION_MEDIA_SESSION_SERVICE_IMPL_H_
7
8 #include <memory>
9
10 #include "mojo/public/cpp/bindings/pending_receiver.h"
11 #include "mojo/public/cpp/bindings/receiver.h"
12 #include "services/media_session/public/cpp/media_session_service.h"
13
14 namespace media_session {
15
16 class AudioFocusManager;
17
18 class MediaSessionServiceImpl : public MediaSessionService {
19  public:
20   MediaSessionServiceImpl();
21   ~MediaSessionServiceImpl() override;
22   MediaSessionServiceImpl(const MediaSessionServiceImpl&) = delete;
23   MediaSessionServiceImpl& operator=(const MediaSessionServiceImpl&) = delete;
24
25   // MediaSessionService implementation:
26   void BindAudioFocusManager(
27       mojo::PendingReceiver<mojom::AudioFocusManager> receiver) override;
28   void BindAudioFocusManagerDebug(
29       mojo::PendingReceiver<mojom::AudioFocusManagerDebug> receiver) override;
30   void BindMediaControllerManager(
31       mojo::PendingReceiver<mojom::MediaControllerManager> receiver) override;
32
33   const AudioFocusManager& audio_focus_manager_for_testing() const {
34     return *audio_focus_manager_.get();
35   }
36
37  private:
38   std::unique_ptr<AudioFocusManager> audio_focus_manager_;
39 };
40
41 }  // namespace media_session
42
43 #endif  // SERVICES_MEDIA_SESSION_MEDIA_SESSION_SERVICE_IMPL_H_