#ifndef _CONSOLE_H_
#define _CONSOLE_H_
-
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2007-2007 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
*/
#include <QtGui>
+#include "pages.h"
#include "ui_console.h"
#include "restore.h"
+#include "select.h"
#ifndef MAX_NAME_LENGTH
#define MAX_NAME_LENGTH 128
#endif
+/*
+ * Structure for obtaining the defaults for a job
+ */
struct job_defaults {
- char job_name[MAX_NAME_LENGTH];
- char pool_name[MAX_NAME_LENGTH];
- char messages_name[MAX_NAME_LENGTH];
- char client_name[MAX_NAME_LENGTH];
- char store_name[MAX_NAME_LENGTH];
- char level[MAX_NAME_LENGTH];
- char type[MAX_NAME_LENGTH];
- char fileset_name[MAX_NAME_LENGTH];
- char catalog_name[MAX_NAME_LENGTH];
+ QString job_name;
+ QString pool_name;
+ QString messages_name;
+ QString client_name;
+ QString store_name;
+ QString where;
+ QString level;
+ QString type;
+ QString fileset_name;
+ QString catalog_name;
bool enabled;
};
class JCR;
class CONRES;
-class Console : public QWidget, public Ui::ConsoleForm
+class Console : public Pages, public Ui::ConsoleForm
{
Q_OBJECT
public:
Console(QStackedWidget *parent);
- void set_text(const char *buf);
- void set_text(const QString buf);
- void set_textf(const char *fmt, ...);
+ ~Console();
+ void display_text(const char *buf);
+ void display_text(const QString buf);
+ void display_textf(const char *fmt, ...);
void update_cursor(void);
void write_dir(const char *buf);
+ bool dir_cmd(const char *cmd, QStringList &results);
+ bool dir_cmd(QString &cmd, QStringList &results);
+ bool sql_cmd(const char *cmd, QStringList &results);
+ bool sql_cmd(QString &cmd, QStringList &results);
bool authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons);
bool is_connected() { return m_sock != NULL; };
+ bool is_connectedGui();
const QFont get_font();
void writeSettings();
void readSettings();
char *msg();
- void setEnabled(bool enable) { m_notifier->setEnabled(enable); };
+ void notify(bool enable);
QStringList get_list(char *cmd);
- bool get_job_defaults(char *job_name, struct job_defaults &);
+ bool get_job_defaults(struct job_defaults &);
+ void terminate();
+ void beginNewCommand();
+ void displayToPrompt();
+ void discardToPrompt();
+ void setDirectorTreeItem(QTreeWidgetItem *);
+ void setDirRes(DIRRES *dir);
+ QTreeWidgetItem *directorTreeItem() { return m_directorTreeItem; };
+ void getDirResName(QString &);
QStringList job_list;
QStringList client_list;
QStringList type_list;
QStringList level_list;
+
public slots:
- void connect(void);
+ void connect();
void read_dir(int fd);
int read(void);
int write(const char *msg);
+ int write(QString msg);
void status_dir(void);
void set_font(void);
+ void poll_messages(void);
private:
QTextEdit *m_textEdit;
bool m_at_prompt;
QSocketNotifier *m_notifier;
QTextCursor *m_cursor;
- QTreeWidgetItem *m_consoleItem;
+ QTreeWidgetItem *m_directorTreeItem;
+ bool m_api_set;
+ bool m_messages_pending;
+ QTimer *m_timer;
};
#endif /* _CONSOLE_H_ */