QRODS
qrods.h
1 #ifndef QRODS_H
2 #define QRODS_H
3 
4 #include <QAbstractItemModel>
5 #include <QAbstractItemView>
6 #include "qmetadatamodel.h"
7 #include "filelistingentry.h"
8 #include "qrods_global.h"
9 
10 class QRODSPrivate;
11 
12 class QRODSSHARED_EXPORT QRODS : public QAbstractItemModel
13 {
14  Q_OBJECT
15 
16 public:
17 
18  explicit QRODS(QObject *parent = 0);
19  explicit QRODS(QObject *parent, QString &host, int port, QString &user, QString &password);
20 
21  void setUser(QString &user);
22  void setPassword(QString &password);
23  void setHost(QString &string);
24  void setPort(int port);
25 
26  QString& getQRODSVersion();
27  QString& user();
28  QString& password();
29  QString& host();
30  int port();
31 
32 
33  QMetadataModel *getDataModel();
34  void addCollection(QString &path);
35  void removeCollection(QString &path);
36  void uploadFile(QString &remotePath, QString &localPath);
37  void getFile(QString &remotePath, QString &localPath);
38  QList<MetadataEntry*>* getDataObjectMetadata(QString &path);
39  void removeDataObject(QString &path, bool force = false);
40  void setDataPath(QString &dataObj);
41  void addCollectionMetadata(QString &path, MetadataEntry &);
42  void deleteCollectionMetadata(QString &path, MetadataEntry &);
43 
44  virtual bool connectToServer();
45  virtual bool connectToServer(QString path);
46  virtual bool connectToServer(QString path, bool secureHttp);
47 
48  QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const;
49  QModelIndex parent(const QModelIndex & index) const;
50  QVariant data(const QModelIndex & index, int role = Qt::DisplayRole) const;
51  int rowCount(const QModelIndex & parent = QModelIndex()) const;
52  int columnCount(const QModelIndex & parent = QModelIndex()) const;
53  QVariant headerData(int section, Qt::Orientation orientation, int role) const;
54  bool hasChildren(const QModelIndex &parent = QModelIndex()) const;
55  void setRootPath(const QString path);
56 
57  void addView(QAbstractItemView* view);
58  void setVisibleColumns(QList<FileListingEntry::EntryColumn> & columns);
59 
60 protected:
61  FileListingEntry* nodeFromIndex( const QModelIndex &index) const;
62  void loadMorePages( FileListingEntry *entry );
63 
64 public slots:
65  void getPageData(FileListingEntry*, int firstIndex, int endIndex);
66 
67  void valueChanged(int);
68  void expanded(const QModelIndex &);
69  void collapsed(const QModelIndex & index);
70  void modelChanged();
71 
72 signals:
73  void notifyModelUpdated();
74 
75 private:
76  QRODSPrivate * d_ptr;
77  Q_DECLARE_PRIVATE(QRODS)
78 };
79 
80 #endif // QRODS_H
Definition: qrods_p.h:13
Definition: qrods.h:12
Definition: qmetadatamodel.h:12
Definition: metadataentry.h:8
Definition: filelistingentry.h:9