LibEngsas
efileservice.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 
21 #ifndef EFILESERVICE_H
22 #define EFILESERVICE_H
23 
24 #include "eobject.h"
25 #include "eglobal.h"
26 
27 #include "efileinfo.h"
28 
29 class EFileServicePlugin;
30 class ESettingsModelItem;
31 
32 #include <QFileInfo>
33 
49 {
50  Q_OBJECT
51  public:
52  EFileService(QObject *parent = NULL);
57  EFileService(QString serviceId, QObject *parent = NULL);
58 
62  static QList<EFileServicePlugin*> services();
68  static ESettingsModelItem* settings();
69 
73  bool serviceLoaded() const;
74 
75  EFileInfo info(QString uniqueId) const;
88  EFileInfo add(QFileInfo info, bool create = false) const;
95  bool move(EFileInfo source, QString target) const;
102  bool copy(EFileInfo source, QString target) const;
103  bool deleteFile(EFileInfo file) const;
104  bool open(EFileInfo file);
110  bool switchService(QString newServiceId);
111 
112  private:
113  EFileServicePlugin *loadService(QString serviceId);
114 
116 };
117 
118 #endif // EFILESERVICE_H