4 Bacula® - The Network Backup Solution
6 Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
8 The main author of Bacula is Kern Sibbald, with contributions from
9 many others, a complete list can be found in the file AUTHORS.
10 This program is Free Software; you can redistribute it and/or
11 modify it under the terms of version two of the GNU General Public
12 License as published by the Free Software Foundation and included
15 This program is distributed in the hope that it will be useful, but
16 WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
25 Bacula® is a registered trademark of Kern Sibbald.
26 The licensor of Bacula is the Free Software Foundation Europe
27 (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
28 Switzerland, email:ftf@fsfeurope.org.
33 * Kern Sibbald, January 2007
38 #include "ui_console.h"
40 #ifndef MAX_NAME_LENGTH
41 #define MAX_NAME_LENGTH 128
45 * Structure for obtaining the defaults for a job
50 QString messages_name;
66 class Console : public Pages, public Ui::ConsoleForm
71 Console(QStackedWidget *parent);
73 void display_text(const char *buf);
74 void display_text(const QString buf);
75 void display_textf(const char *fmt, ...);
76 void display_html(const QString buf);
77 void update_cursor(void);
78 void write_dir(const char *buf);
80 bool dir_cmd(const char *cmd, QStringList &results);
81 bool dir_cmd(QString &cmd, QStringList &results);
82 bool sql_cmd(const char *cmd, QStringList &results);
83 bool sql_cmd(QString &cmd, QStringList &results);
84 bool authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons,
85 char *buf, int buflen);
86 bool is_connected() { return m_sock != NULL; };
87 bool is_ready() { return is_connected() && m_at_prompt && m_at_main_prompt; };
88 bool is_connectedGui();
89 bool preventInUseConnect();
90 const QFont get_font();
94 void notify(bool enable);
95 QStringList get_list(char *cmd);
96 bool get_job_defaults(struct job_defaults &);
98 void beginNewCommand();
99 void displayToPrompt();
100 void discardToPrompt();
101 void setDirectorTreeItem(QTreeWidgetItem *);
102 void setDirRes(DIRRES *dir);
103 QTreeWidgetItem *directorTreeItem() { return m_directorTreeItem; };
104 void getDirResName(QString &);
107 void getVolumeList(QStringList &);
108 void getStatusList(QStringList &);
110 QStringList job_list;
111 QStringList client_list;
112 QStringList fileset_list;
113 QStringList messages_list;
114 QStringList pool_list;
115 QStringList storage_list;
116 QStringList type_list;
117 QStringList level_list;
122 void read_dir(int fd);
124 int write(const char *msg);
125 int write(QString msg);
126 void status_dir(void);
129 void poll_messages(void);
131 void consoleReload();
134 DIRRES *m_dir; /* so various pages can reference it */
137 QTextEdit *m_textEdit;
140 bool m_at_main_prompt;
141 QSocketNotifier *m_notifier;
142 QTextCursor *m_cursor;
143 QTreeWidgetItem *m_directorTreeItem;
145 bool m_messages_pending;
149 #endif /* _CONSOLE_H_ */