Content Hub
0.0.1
A session-wide content-exchange service
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Properties
Friends
Pages
hub.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2013 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License version 3 as
6
* 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
#ifndef COM_UBUNTU_CONTENT_HUB_H_
19
#define COM_UBUNTU_CONTENT_HUB_H_
20
21
#include <
com/ubuntu/content/peer.h
>
22
#include <
com/ubuntu/content/scope.h
>
23
#include <
com/ubuntu/content/type.h
>
24
25
#include <QObject>
26
#include <QVector>
27
28
namespace
com
29
{
30
namespace
ubuntu
31
{
32
namespace
content
33
{
34
class
ImportExportHandler
;
35
class
Store
;
36
class
Transfer
;
37
38
class
Hub
:
public
QObject
39
{
40
Q_OBJECT
41
42
public
:
43
struct
Client
44
{
45
static
Hub
*
instance
();
46
};
47
48
Hub
(
const
Hub
&) =
delete
;
49
virtual
~Hub
();
50
Hub
&
operator=
(
const
Hub
&) =
delete
;
51
52
Q_INVOKABLE
virtual
void
register_import_export_handler
(
ImportExportHandler
* handler);
53
Q_INVOKABLE
virtual
const
Store
*
store_for_scope_and_type
(
Scope
scope,
Type
type);
54
Q_INVOKABLE
virtual
Peer
default_peer_for_type
(
Type
type);
55
Q_INVOKABLE
virtual
QVector<Peer>
known_peers_for_type
(
Type
type);
56
Q_INVOKABLE
virtual
Transfer
*
create_import_for_type_from_peer
(
Type
type,
Peer
peer);
57
58
Q_INVOKABLE
virtual
void
quit
();
59
60
protected
:
61
Hub
(
QObject
* =
nullptr
);
62
63
private
:
64
struct
Private;
65
QScopedPointer<Private> d;
66
};
67
}
68
}
69
}
70
71
#endif // COM_UBUNTU_CONTENT_HUB_H_
include
com
ubuntu
content
hub.h
Generated on Fri Oct 11 2013 05:52:38 for Content Hub by
1.8.4