source: src-qt4/life-preserver/LPBackend.h @ 2ac57ce

9.2-releasereleng/10.0releng/10.0.1
Last change on this file since 2ac57ce was 2ac57ce, checked in by Ken Moore <ken@…>, 8 months ago

Setup the life preserver backend to use QProcesses for all commands, and process window events while commands are running.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#ifndef _LP_BACKEND_H
2#define _LP_BACKEND_H
3
4#include <QProcess>
5#include <QString>
6#include <QStringList>
7#include <QDebug>
8#include <QDir>
9#include <QCoreApplication>
10
11//Class of static functions for using the "lpreserver" backend
12class LPBackend{
13
14public: 
15        //Informational
16        static QStringList listPossibleDatasets(); //list all possible datasets on the system
17        static QStringList listDatasets(); //list all current lifepreserver datasets
18        static QStringList listDatasetSubsets(QString dataset); //list all subsets of the main dataset
19        static QStringList listSnapshots(QString dsmountpoint); //list all snapshots for a particular dataset mountpoint
20        static QStringList listLPSnapshots(QString dataset); //list all snapshots created by life preserver
21        static QStringList listReplicationTargets(); //list all datasets with replication enabled
22        static QStringList listCurrentStatus(); //list the current snapshot/replication status
23        //Dataset Management
24        static bool setupDataset(QString dataset, int time, int numToKeep); //add or configure dataset
25        static bool removeDataset(QString dataset);
26        static bool datasetInfo(QString dataset, int& time, int& numToKeep); //get current settings for a dataset
27        //Snapshop Management
28        static bool newSnapshot(QString dataset, QString snapshotname);
29        static bool removeSnapshot(QString dataset, QString snapshot);
30        static bool revertSnapshot(QString dataset, QString snapshot); //revert to given snapshot
31        static QString revertSnapshotFile(QString dataset, QString snapshot, QString filepath);
32        //Replication Management
33        static bool setupReplication(QString dataset, QString remotehost, QString user, int port, QString remotedataset, int time);
34        static bool removeReplication(QString dataset);
35        static bool replicationInfo(QString dataset, QString& remotehost, QString& user, int& port, QString& remotedataset, int& time);
36        //SSH Key Management
37        static bool setupSSHKey(QString remoteHost, QString remoteUser, int remotePort);
38        static QStringList findValidUSBDevices();
39        static bool copySSHKey(QString mountPath, QString localHost);
40       
41private:
42        static QStringList getCmdOutput(QString);
43        static int runCmd(QString);
44};
45#endif
Note: See TracBrowser for help on using the repository browser.