source: src-qt4/life-preserver/lp-gui/LPBackend.h @ 0ecb8f7

Last change on this file since 0ecb8f7 was 0ecb8f7, checked in by Ken Moore <ken@…>, 18 months ago

Update the classic package command so that it does not hang the UI while running

  • Property mode set to 100644
File size: 2.5 KB
1#ifndef _LP_BACKEND_H
2#define _LP_BACKEND_H
4#include <QProcess>
5#include <QString>
6#include <QStringList>
7#include <QDebug>
8#include <QDir>
9#include <QCoreApplication>
11//Class of static functions for using the "lpreserver" backend
12class LPBackend{
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 void 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        //Replication Management
32        static bool setupReplication(QString dataset, QString remotehost, QString user, int port, QString remotedataset, int time);
33        static bool removeReplication(QString dataset);
34        static bool replicationInfo(QString dataset, QString& remotehost, QString& user, int& port, QString& remotedataset, int& time);
35        //SSH Key Management
36        static bool setupSSHKey(QString remoteHost, QString remoteUser, int remotePort);
37        static QStringList findValidUSBDevices();
38        static bool copySSHKey(QString mountPath, QString localHost);
39        //USB Device Management
40        static QStringList listDevices();
41        static bool isMounted(QString device);
42        static bool unmountDevice(QString device);
43        //Zpool disk Management
44        static bool attachDisk(QString pool, QString disk);
45        static bool detachDisk(QString pool, QString disk);
46        static bool setDiskOnline(QString pool, QString disk);
47        static bool setDiskOffline(QString pool, QString disk);
48        //General utility functions
49        static QStringList getCmdOutput(QString);
50        static int runCmd(QString cmd, QStringList args = QStringList() );     
Note: See TracBrowser for help on using the repository browser.