4 Bacula® - The Network Backup Solution
6 Copyright (C) 2007-2007 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 John Walker.
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);
79 bool dir_cmd(const char *cmd, QStringList &results);
80 bool dir_cmd(QString &cmd, QStringList &results);
81 bool sql_cmd(const char *cmd, QStringList &results);
82 bool sql_cmd(QString &cmd, QStringList &results);
83 bool authenticate_director(JCR *jcr, DIRRES *director, CONRES *cons,
84 char *buf, int buflen);
85 bool is_connected() { return m_sock != NULL; };
86 bool is_connectedGui();
87 bool preventInUseConnect();
88 const QFont get_font();
92 void notify(bool enable);
93 QStringList get_list(char *cmd);
94 bool get_job_defaults(struct job_defaults &);
96 void beginNewCommand();
97 void displayToPrompt();
98 void discardToPrompt();
99 void setDirectorTreeItem(QTreeWidgetItem *);
100 void setDirRes(DIRRES *dir);
101 QTreeWidgetItem *directorTreeItem() { return m_directorTreeItem; };
102 void getDirResName(QString &);
105 void getVolumeList(QStringList &);
106 void getStatusList(QStringList &);
108 QStringList job_list;
109 QStringList client_list;
110 QStringList fileset_list;
111 QStringList messages_list;
112 QStringList pool_list;
113 QStringList storage_list;
114 QStringList type_list;
115 QStringList level_list;
120 void read_dir(int fd);
122 int write(const char *msg);
123 int write(QString msg);
124 void status_dir(void);
127 void poll_messages(void);
129 void consoleReload();
132 DIRRES *m_dir; /* so various pages can reference it */
135 QTextEdit *m_textEdit;
138 bool m_at_main_prompt;
139 QSocketNotifier *m_notifier;
140 QTextCursor *m_cursor;
141 QTreeWidgetItem *m_directorTreeItem;
143 bool m_messages_pending;
147 #endif /* _CONSOLE_H_ */