/*
Bacula® - The Network Backup Solution
- Copyright (C) 2007-2007 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.
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 <QApplication>
#include "bat.h"
+#include <QApplication>
+#include <QTranslator>
MainWin *mainWin;
QApplication *app;
static void usage();
static int check_resources();
-#define CONFIG_FILE "./bat.conf" /* default configuration file */
+extern bool parse_bat_config(CONFIG *config, const char *configfile, int exit_code);
+
+#define CONFIG_FILE "bat.conf" /* default configuration file */
/* Static variables */
+static CONFIG *config;
static char *configfile = NULL;
int main(int argc, char *argv[])
app = new QApplication(argc, argv);
app->setQuitOnLastWindowClosed(true);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
+
+ QTranslator qtTranslator;
+ qtTranslator.load(QString("qt_") + QLocale::system().name());
+ app->installTranslator(&qtTranslator);
+
+ QTranslator batTranslator;
+ batTranslator.load(QString("bat_") + QLocale::system().name());
+ app->installTranslator(&batTranslator);
-#ifdef ENABLE_NLS
+
+#ifdef xENABLE_NLS
setlocale(LC_ALL, "");
bindtextdomain("bacula", LOCALEDIR);
textdomain("bacula");
usage();
}
+ OSDependentInit();
+#ifdef HAVE_WIN32
+ WSA_Init(); /* Initialize Windows sockets */
+#endif
+
if (configfile == NULL) {
configfile = bstrdup(CONFIG_FILE);
}
- parse_config(configfile);
+ config = new_config_parser();
+ parse_bat_config(config, configfile, M_ERROR_TERM);
if (init_crypto() != 0) {
Emsg0(M_ERROR_TERM, 0, _("Cryptography library initialization failed.\n"));
return app->exec();
}
-void terminate_console(int sig)
+void terminate_console(int /*sig*/)
{
- (void)sig; /* avoid compiler complaints */
+// WSA_Cleanup(); /* TODO: check when we have to call it */
exit(0);
}
exit(1);
}
-#ifdef xxx
-/*
- * Call-back for reading a passphrase for an encrypted PEM file
- * This function uses getpass(), which uses a static buffer and is NOT thread-safe.
- */
-static int tls_pem_callback(char *buf, int size, const void *userdata)
-{
-#ifdef HAVE_TLS
- const char *prompt = (const char *) userdata;
- char *passwd;
-
- passwd = getpass(prompt);
- bstrncpy(buf, passwd, size);
- return (strlen(buf));
-#else
- buf[0] = 0;
- return 0;
-#endif
-}
-#endif
-
-
/*
* Make a quick check to see that we have all the
* resources needed.