Music Hub
..
A session-wide music playback service
service_stub.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013-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_SERVICE_STUB_H_
20
#define CORE_UBUNTU_MEDIA_SERVICE_STUB_H_
21
22
#include <
core/media/service.h
>
23
24
#include "
service_traits.h
"
25
26
#include <core/dbus/stub.h>
27
28
#include <memory>
29
30
namespace
core
31
{
32
namespace
ubuntu
33
{
34
namespace
media
35
{
36
class
ServiceStub
:
public
core::dbus::Stub
<core::ubuntu::media::Service>
37
{
38
public
:
39
ServiceStub
();
40
~ServiceStub
();
41
42
std::shared_ptr<Player>
create_session
(
const
Player::Configuration
&);
43
void
detach_session
(
const
std::string& uuid,
const
Player::Configuration
&);
44
std::shared_ptr<Player>
reattach_session
(
const
std::string& uuid,
const
Player::Configuration
&);
45
void
destroy_session
(
const
std::string& uuid,
const
Player::Configuration
&);
46
std::shared_ptr<Player>
create_fixed_session
(
const
std::string& name,
const
Player::Configuration
&);
47
std::shared_ptr<Player>
resume_session
(
Player::PlayerKey
key);
48
void
pause_other_sessions
(
Player::PlayerKey
key);
49
50
private
:
51
struct
Private;
52
std::unique_ptr<Private> d;
53
std::thread worker;
54
};
55
}
56
}
57
}
58
59
#endif // CORE_UBUNTU_MEDIA_SERVICE_STUB_H_
core::ubuntu::media::ServiceStub
Definition:
service_stub.h:36
Stub
core::ubuntu::media::ServiceStub::ServiceStub
ServiceStub()
core::ubuntu::media::Player::PlayerKey
uint32_t PlayerKey
Definition:
player.h:47
core::ubuntu::media::ServiceStub::create_session
std::shared_ptr< Player > create_session(const Player::Configuration &)
service_traits.h
core
Definition:
player.h:33
core::ubuntu::media::Player::Configuration
Definition:
player_configuration.h:28
core::ubuntu::media::ServiceStub::reattach_session
std::shared_ptr< Player > reattach_session(const std::string &uuid, const Player::Configuration &)
core::ubuntu::media::ServiceStub::pause_other_sessions
void pause_other_sessions(Player::PlayerKey key)
core::ubuntu::media::ServiceStub::detach_session
void detach_session(const std::string &uuid, const Player::Configuration &)
core::ubuntu::media::ServiceStub::destroy_session
void destroy_session(const std::string &uuid, const Player::Configuration &)
core::ubuntu::media
Definition:
player.h:37
service.h
core::ubuntu::media::ServiceStub::~ServiceStub
~ServiceStub()
core::ubuntu::media::ServiceStub::create_fixed_session
std::shared_ptr< Player > create_fixed_session(const std::string &name, const Player::Configuration &)
core::ubuntu::media::ServiceStub::resume_session
std::shared_ptr< Player > resume_session(Player::PlayerKey key)
src
core
media
service_stub.h
Generated on Mon Apr 27 2015 23:48:55 for Music Hub by
1.8.9.1