summaryrefslogtreecommitdiff
path: root/interface/FacilityInterface.h
blob: 1893349c82fa8cbb92ae03cf2a8cf63ff3eb668e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/** \file FacilityInterface.h
\brief Define the class of the facility engine
\author alpha_one_x86
\licence GPL3, see the file COPYING */

#ifndef FACILITY_INTERFACE_H
#define FACILITY_INTERFACE_H

#include <QVariant>
#include <QString>
#include <QStringList>

#include "../StructEnumDefinition.h"

/// \brief To define the interface, to pass the facility object from Ultracopier to the plugins without compatibility problem
//not possible to be static, because in the plugin it's not resolved
class FacilityInterface : public QObject
{
    public:
        /// \brief To force the text re-translation
        virtual void retranslate() = 0;
        /// \brief convert size in Byte to String
        virtual QString sizeToString(const double &size) const = 0;
        /// \brief convert size unit to String
        virtual QString sizeUnitToString(const Ultracopier::SizeUnit &sizeUnit) const = 0;
        /// \brief translate the text
        virtual QString translateText(const QString &text) const = 0;
        /// \brief speed to string in byte per seconds
        virtual QString speedToString(const double &speed) const = 0;
        /// \brief Decompose the time in second
        virtual Ultracopier::TimeDecomposition secondsToTimeDecomposition(const quint32 &seconds) const = 0;
        /// \brief have the fonctionnality
        virtual bool haveFunctionality(const QString &fonctionnality) const = 0;
        /// \brief call the fonctionnality
        virtual QVariant callFunctionality(const QString &fonctionnality,const QStringList &args=QStringList()) = 0;
        /// \brief Do the simplified time
        virtual QString simplifiedRemainingTime(const quint32 &seconds) const = 0;
        /// \brief Do the simplified time
        virtual QString ultimateUrl() const = 0;
        /// \brief Return the software name
        virtual QString softwareName() const = 0;
};

#endif // FACILITY_INTERFACE_H