]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/qt-console/console/console.h
This is a first commit at attempting to prevent connecting to a director which
[bacula/bacula] / bacula / src / qt-console / console / console.h
index eaea4fba41312c0f314c95c793eefd37a24b99f2..98668318124cf1976c60ba9921a16bffc17a9977 100644 (file)
@@ -1,10 +1,9 @@
 #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;
 };
 
@@ -60,26 +65,40 @@ class BSOCK;
 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;
@@ -90,13 +109,16 @@ public:
    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;
@@ -105,7 +127,10 @@ private:
    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_ */