/*
Bacula® - The Network Backup Solution
- Copyright (C) 2007-2007 Free Software Foundation Europe e.V.
+ Copyright (C) 2007-2008 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.
This program is Free Software; you can redistribute it and/or
modify it under the terms of version two of the GNU General Public
- License as published by the Free Software Foundation plus additions
- that are listed in the file LICENSE.
+ License as published by the Free Software Foundation and included
+ in the file LICENSE.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ Bacula® is a registered trademark of Kern Sibbald.
The licensor of Bacula is the Free Software Foundation Europe
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
*/
#include <QtGui>
+#include "pages.h"
#include "ui_console.h"
-#include "restore.h"
-#include "select.h"
-#include "batstack.h"
#ifndef MAX_NAME_LENGTH
#define MAX_NAME_LENGTH 128
class JCR;
class CONRES;
-class Console : public BatStack, public Ui::ConsoleForm
+class Console : public Pages, public Ui::ConsoleForm
{
Q_OBJECT
public:
Console(QStackedWidget *parent);
+ ~Console();
void display_text(const char *buf);
void display_text(const QString buf);
void display_textf(const char *fmt, ...);
+ void display_html(const QString buf);
void update_cursor(void);
void write_dir(const char *buf);
+ int sock_read();
bool dir_cmd(const char *cmd, QStringList &results);
- bool authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons);
+ 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,
+ char *buf, int buflen);
bool is_connected() { return m_sock != NULL; };
+ bool is_ready() { return is_connected() && m_at_prompt && m_at_main_prompt; };
+ bool is_connectedGui();
+ bool preventInUseConnect();
const QFont get_font();
void writeSettings();
void readSettings();
char *msg();
- void notify(bool enable);
+ bool notify(bool enable); // enables/disables socket notification - returns the previous state
+ bool is_notify_enabled() const;
QStringList get_list(char *cmd);
bool get_job_defaults(struct job_defaults &);
void terminate();
void beginNewCommand();
void displayToPrompt();
void discardToPrompt();
+ void setDirectorTreeItem(QTreeWidgetItem *);
void setDirRes(DIRRES *dir);
- void dosql(QString* sqlcmd, QStringList& strlstret);
+ QTreeWidgetItem *directorTreeItem() { return m_directorTreeItem; };
+ void getDirResName(QString &);
+ void startTimer();
+ void stopTimer();
+ void getVolumeList(QStringList &);
+ void getStatusList(QStringList &);
QStringList job_list;
QStringList client_list;
public slots:
- void connect();
+ void connect_dir();
void read_dir(int fd);
int read(void);
int write(const char *msg);
int write(QString msg);
void status_dir(void);
+ void messages(void);
void set_font(void);
void poll_messages(void);
+ void consoleHelp();
+ void consoleReload();
+
+public:
+ DIRRES *m_dir; /* so various pages can reference it */
private:
QTextEdit *m_textEdit;
- DIRRES *m_dir;
BSOCK *m_sock;
bool m_at_prompt;
+ bool m_at_main_prompt;
QSocketNotifier *m_notifier;
QTextCursor *m_cursor;
+ QTreeWidgetItem *m_directorTreeItem;
bool m_api_set;
bool m_messages_pending;
QTimer *m_timer;