Qmmp
Loading...
Searching...
No Matches
src
qmmp
inputsourcefactory.h
1
/***************************************************************************
2
* Copyright (C) 2009-2022 by Ilya Kotov *
3
* forkotov02@ya.ru *
4
* *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 2 of the License, or *
8
* (at your option) any later version. *
9
* *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
14
* *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, write to the *
17
* Free Software Foundation, Inc., *
18
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19
***************************************************************************/
20
21
#ifndef INPUTSOURCEFACTORY_H
22
#define INPUTSOURCEFACTORY_H
23
24
#include <QObject>
25
#include <QRegularExpression>
26
#include <QList>
27
#include <QStringList>
28
#include "qmmp_export.h"
29
30
class
InputSource
;
31
35
struct
QMMP_EXPORT
InputSourceProperties
36
{
37
QString
name
;
38
QString
shortName
;
39
QList<QRegularExpression>
regExps
;
40
QStringList
protocols
;
41
bool
hasAbout =
false
;
42
bool
hasSettings =
false
;
43
};
44
45
49
class
InputSourceFactory
50
{
51
public
:
55
virtual
InputSourceProperties
properties
()
const
= 0;
61
virtual
InputSource
*
create
(
const
QString &url, QObject *parent =
nullptr
) = 0;
66
virtual
void
showSettings
(QWidget *parent) = 0;
71
virtual
void
showAbout
(QWidget *parent) = 0;
75
virtual
QString
translation
()
const
= 0;
76
};
77
78
Q_DECLARE_INTERFACE(
InputSourceFactory
,
"InputSourceFactory/1.0"
)
79
80
#endif
// INPUTSOURCEFACTORY_H
InputSourceFactory
Transport plugin interface.
Definition
inputsourcefactory.h:50
InputSourceFactory::translation
virtual QString translation() const =0
InputSourceFactory::showSettings
virtual void showSettings(QWidget *parent)=0
InputSourceFactory::create
virtual InputSource * create(const QString &url, QObject *parent=nullptr)=0
InputSourceFactory::showAbout
virtual void showAbout(QWidget *parent)=0
InputSourceFactory::properties
virtual InputSourceProperties properties() const =0
InputSource
The InputSource class provides the base interface class of transports.
Definition
inputsource.h:39
InputSourceProperties
Structure to store transport plugin properies.
Definition
inputsourcefactory.h:36
InputSourceProperties::regExps
QList< QRegularExpression > regExps
Definition
inputsourcefactory.h:39
InputSourceProperties::protocols
QStringList protocols
Definition
inputsourcefactory.h:40
InputSourceProperties::name
QString name
Definition
inputsourcefactory.h:37
InputSourceProperties::shortName
QString shortName
Definition
inputsourcefactory.h:38
Generated on Tue Oct 31 2023 10:48:38 for Qmmp by
1.10.0