LibEngsas
efileserviceplugin.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2011 - 2012 EngSaS - Engineering Solutions and Services Langenbach. All rights reserved.
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17  MA 02110-1301 USA.
18 */
19 
20 #ifndef EFILESERVICEPLUGIN_H
21 #define EFILESERVICEPLUGIN_H
22 
23 #include "eobject.h"
24 #include "eglobal.h"
25 
26 class EFileInfo;
27 class ESettingsWidget;
28 
29 class QFileInfo;
30 
37 {
38  public:
39  virtual ~EFileServicePlugin() {}
40 
41  virtual QString name() const = 0;
42  virtual QString serviceId() const = 0;
43 
44  virtual EFileInfo info(QString uniqueId) const = 0;
57  virtual EFileInfo add(QFileInfo info, bool create) const = 0;
64  virtual bool move(EFileInfo source, QString target) const = 0;
71  virtual bool copy(EFileInfo source, QString target) const = 0;
72  virtual bool deleteFile(EFileInfo file) const = 0;
82  virtual bool open(EFileInfo file) = 0;
83  virtual ESettingsWidget* settingsWidget() const = 0;
84 };
85 
86 #if QT_VERSION >= 0x050000
87 #define LibEngsasEfileServicePluginIID "de.engsas.libengsas.EFileServicePlugin"
88 Q_DECLARE_INTERFACE(EFileServicePlugin, LibEngsasEfileServicePluginIID)
89 #else
90 Q_DECLARE_INTERFACE ( EFileServicePlugin, "LibEngsas.EFileServicePlugin/0.1.0" );
91 #endif
92 
93 #endif // EFILESERVICEPLUGIN_H
Mostly the same as EWidget but for QObject as base class.
Definition: eobject.h:42
The base class of the all widgets used to display settings at the ESettingsDialog.
Definition: esettingswidget.h:31
#define E_CORE_EXPORT
Definition: eglobal.h:107
Data about a file handled by EFileService.
Definition: efileinfo.h:30
Q_DECLARE_INTERFACE(EFileServicePlugin,"LibEngsas.EFileServicePlugin/0.1.0")
A plugin used by EFileService to handle special file system types.
Definition: efileserviceplugin.h:36
virtual ~EFileServicePlugin()
Definition: efileserviceplugin.h:39