Music Hub
..
A session-wide music playback service
recorder_observer.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2014 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Thomas Voß <thomas.voss@canonical.com>
17
*/
18
19
#ifndef CORE_UBUNTU_MEDIA_RECORDER_OBSERVER_H_
20
#define CORE_UBUNTU_MEDIA_RECORDER_OBSERVER_H_
21
22
#include <core/property.h>
23
24
#include <memory>
25
26
namespace
core
27
{
28
namespace
ubuntu
29
{
30
namespace
media
31
{
32
// All known states of the recorder
33
enum class
RecordingState
34
{
35
// No active recording
36
stopped
,
37
// We have an active recording session
38
started
39
};
40
41
// A RecorderObserver allows for monitoring the recording state
42
// of the service.
43
struct
RecorderObserver
44
{
45
// To save us some typing.
46
typedef
std::shared_ptr<RecorderObserver>
Ptr
;
47
48
RecorderObserver
() =
default
;
49
RecorderObserver
(
const
RecorderObserver
&) =
delete
;
50
virtual
~
RecorderObserver
() =
default
;
51
RecorderObserver
& operator=(
const
RecorderObserver
&) =
delete
;
52
53
// Getable/observable property describing the recording state of the system.
54
virtual
const
core::Property<RecordingState>& recording_state()
const
= 0;
55
};
56
57
// Creates an instance of interface RecorderObserver relying on
58
// default services offered by the platform we are currently running on.
59
RecorderObserver::Ptr
make_platform_default_recorder_observer
();
60
}
61
}
62
}
63
64
#endif // CORE_UBUNTU_MEDIA_RECORDER_OBSERVER_H_
core::ubuntu::media::RecordingState::started
core::ubuntu::media::RecordingState::stopped
core::ubuntu::media::RecorderObserver
Definition:
recorder_observer.h:43
core
Definition:
player.h:33
core::ubuntu::media
Definition:
player.h:37
core::ubuntu::media::make_platform_default_recorder_observer
RecorderObserver::Ptr make_platform_default_recorder_observer()
Definition:
recorder_observer.cpp:29
core::ubuntu::media::RecordingState
RecordingState
Definition:
recorder_observer.h:33
core::ubuntu::media::RecorderObserver::Ptr
std::shared_ptr< RecorderObserver > Ptr
Definition:
recorder_observer.h:46
src
core
media
recorder_observer.h
Generated on Tue Nov 1 2016 16:29:26 for Music Hub by
1.8.11