LeechCraft
0.6.70-9312-g4cc613a2df
Modular cross-platform feature rich live environment.
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
ieventsprovider.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Boost Software License - Version 1.0 - August 17th, 2003
6
*
7
* Permission is hereby granted, free of charge, to any person or organization
8
* obtaining a copy of the software and accompanying documentation covered by
9
* this license (the "Software") to use, reproduce, display, distribute,
10
* execute, and transmit the Software, and to prepare derivative works of the
11
* Software, and to permit third-parties to whom the Software is furnished to
12
* do so, all subject to the following:
13
*
14
* The copyright notices in the Software and this entire statement, including
15
* the above license grant, this restriction and the following disclaimer,
16
* must be included in all copies of the Software, in whole or in part, and
17
* all derivative works of the Software, unless such copies or derivative
18
* works are solely in the form of machine-executable object code generated by
19
* a source language processor.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
**********************************************************************/
29
30
#pragma once
31
32
#include <QDateTime>
33
#include <QUrl>
34
#include <QStringList>
35
#include <QtPlugin>
36
37
namespace
Media
38
{
43
enum class
EventAttendType
44
{
47
None
,
48
51
Maybe
,
52
55
Surely
56
};
57
62
struct
EventInfo
63
{
66
qint64
ID_
;
67
70
QString
Name_
;
71
74
QString
Description_
;
75
78
QDateTime
Date_
;
79
82
QUrl
URL_
;
83
86
QUrl
SmallImage_
;
87
90
QUrl
BigImage_
;
91
96
QStringList
Artists_
;
97
102
QString
Headliner_
;
103
106
QStringList
Tags_
;
107
110
int
Attendees_
;
111
115
QString
PlaceName_
;
116
122
double
Latitude_
;
123
129
double
Longitude_
;
130
133
QString
City_
;
134
137
QString
Address_
;
138
141
bool
CanBeAttended_
;
142
145
EventAttendType
AttendType_
;
146
};
147
150
typedef
QList<EventInfo>
EventInfos_t
;
151
162
class
Q_DECL_EXPORT
IEventsProvider
163
{
164
public
:
165
virtual
~IEventsProvider
() {}
166
174
virtual
QString GetServiceName ()
const
= 0;
175
183
virtual
void
UpdateRecommendedEvents () = 0;
184
193
virtual
void
AttendEvent (qint64
id
,
EventAttendType
status) = 0;
194
protected
:
199
virtual
void
gotRecommendedEvents (
const
EventInfos_t
& events) = 0;
200
};
201
}
202
203
Q_DECLARE_INTERFACE (
Media::IEventsProvider
,
"org.LeechCraft.Media.IEventsProvider/1.0"
)
Media::EventInfo::Attendees_
int Attendees_
The current number of attendees or -1 if not known.
Definition:
ieventsprovider.h:110
Media::EventAttendType::Maybe
The user is interested and maybe will attend the event.
Media::EventAttendType
EventAttendType
Enum describing if and how an event is attended by user.
Definition:
ieventsprovider.h:43
Media::IEventsProvider
Interface for plugins that can provide events.
Definition:
ieventsprovider.h:162
Media::EventInfo::Latitude_
double Latitude_
Latitude of the place.
Definition:
ieventsprovider.h:122
Media::EventInfo::URL_
QUrl URL_
The URL of a page describing the event in more detail.
Definition:
ieventsprovider.h:82
Media::EventInfo::Headliner_
QString Headliner_
The name of the headliner of this event.
Definition:
ieventsprovider.h:102
Media::EventInfo::Address_
QString Address_
The address of the place this event will happen in.
Definition:
ieventsprovider.h:137
Media::EventInfo::AttendType_
EventAttendType AttendType_
Current attendance status by the user.
Definition:
ieventsprovider.h:145
Media::EventInfos_t
QList< EventInfo > EventInfos_t
A list of events.
Definition:
ieventsprovider.h:150
Media::EventInfo::Tags_
QStringList Tags_
The associated tags like musical genre of bands.
Definition:
ieventsprovider.h:106
Media::EventInfo::Artists_
QStringList Artists_
The list of all artists present on this event.
Definition:
ieventsprovider.h:96
Media::EventAttendType::Surely
The user surely will attend the event.
Media::None
The user won't attend this event.
Media::EventInfo::SmallImage_
QUrl SmallImage_
A thumb image associated with this event.
Definition:
ieventsprovider.h:86
Media::EventInfo::BigImage_
QUrl BigImage_
A big, preferably poster-size image of this event.
Definition:
ieventsprovider.h:90
Media::EventInfo::CanBeAttended_
bool CanBeAttended_
Whether this event can be attended.
Definition:
ieventsprovider.h:141
Media::EventInfo::PlaceName_
QString PlaceName_
The name of the club or other place this event will be in.
Definition:
ieventsprovider.h:115
Media::EventInfo::Date_
QDateTime Date_
The date the event will happen.
Definition:
ieventsprovider.h:78
Media::EventInfo::City_
QString City_
The city this event will happen in.
Definition:
ieventsprovider.h:133
Media::EventInfo::ID_
qint64 ID_
The internal ID of the event.
Definition:
ieventsprovider.h:66
QList
Definition:
ianrulesstorage.h:35
Media::EventInfo
A structure describing an event like a gig or a festival.
Definition:
ieventsprovider.h:62
Media::EventInfo::Longitude_
double Longitude_
Longitude of the place.
Definition:
ieventsprovider.h:129
Media::EventInfo::Description_
QString Description_
The description of the event.
Definition:
ieventsprovider.h:74
Media::IEventsProvider::~IEventsProvider
virtual ~IEventsProvider()
Definition:
ieventsprovider.h:165
Media::EventInfo::Name_
QString Name_
The name of the event.
Definition:
ieventsprovider.h:70
src
interfaces
media
ieventsprovider.h
Generated by
1.8.6