]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/console/console.h
Apply win32-fixes patch from Riccardo that makes the Win32
[bacula/bacula] / bacula / src / qt-console / console / console.h
index c434d9064b35dd3017993a143610d952ff143e25..44e577c927a4dea226ede25042ad4f22b91ae95c 100644 (file)
@@ -3,14 +3,14 @@
 /*
    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
@@ -22,7 +22,7 @@
    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
@@ -65,33 +63,50 @@ class BSOCK;
 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;
@@ -104,22 +119,29 @@ public:
 
 
 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;