/*
Bacula® - The Network Backup Solution
- Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2007-2009 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.
*/
void Pages::consoleCommand(QString &command)
{
- /*if (!m_console->is_connectedGui())
- return;*/
- if (!m_console->preventInUseConnect()) {
- return;
+ int conn;
+ bool donotify = false;
+ if (m_console->availableDirComm(conn)) {
+ if (m_console->is_notify_enabled(conn)) {
+ donotify = true;
+ m_console->notify(conn, false);
+ }
+ consoleCommand(command, conn);
+ if (donotify) { m_console->notify(conn, true); }
}
- consoleInput(command);
}
-
-/*
- * Function to simplify executing a console command, but does not
- * check for the connection in use. We need this so that we can
- * *always* enter command from the command line.
- */
-void Pages::consoleInput(QString &command)
+void Pages::consoleCommand(QString &command, int conn)
{
/* Bring this director's console to the front of the stack */
setConsoleCurrent();
displayhtml += command + "</font>\n";
m_console->display_html(displayhtml);
m_console->display_text("\n");
- m_console->write_dir(command.toUtf8().data());
- m_console->displayToPrompt();
+ mainWin->waitEnter();
+ m_console->write_dir(conn, command.toUtf8().data(), false);
+ m_console->displayToPrompt(conn);
+ mainWin->waitExit();
}
/*
}
}
}
+
+/* Function to get a list of volumes */
+void Pages::getVolumeList(QStringList &volumeList)
+{
+ QString query("SELECT VolumeName AS Media FROM Media ORDER BY Media");
+ if (mainWin->m_sqlDebug) {
+ Pmsg1(000, "Query cmd : %s\n",query.toUtf8().data());
+ }
+ QStringList results;
+ if (m_console->sql_cmd(query, results)) {
+ QString field;
+ QStringList fieldlist;
+ /* Iterate through the lines of results. */
+ foreach (QString resultline, results) {
+ fieldlist = resultline.split("\t");
+ volumeList.append(fieldlist[0]);
+ } /* foreach resultline */
+ } /* if results from query */
+}
+
+/* Function to get a list of volumes */
+void Pages::getStatusList(QStringList &statusLongList)
+{
+ QString statusQuery("SELECT JobStatusLong FROM Status");
+ if (mainWin->m_sqlDebug) {
+ Pmsg1(000, "Query cmd : %s\n",statusQuery.toUtf8().data());
+ }
+ QStringList statusResults;
+ if (m_console->sql_cmd(statusQuery, statusResults)) {
+ QString field;
+ QStringList fieldlist;
+ /* Iterate through the lines of results. */
+ foreach (QString resultline, statusResults) {
+ fieldlist = resultline.split("\t");
+ statusLongList.append(fieldlist[0]);
+ } /* foreach resultline */
+ } /* if results from statusquery */
+}