1/*
2 * wpa_gui - Application startup
3 * Copyright (c) 2005-2006, Jouni Malinen <j@w1.fi>
4 *
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
7 */
8
9#ifdef CONFIG_NATIVE_WINDOWS
10#include <winsock.h>
11#endif /* CONFIG_NATIVE_WINDOWS */
12#include <QApplication>
13#include <QtCore/QLibraryInfo>
14#include <QtCore/QTranslator>
15#include "wpagui.h"
16
17
18class WpaGuiApp : public QApplication
19{
20public:
21	WpaGuiApp(int &argc, char **argv);
22
23#ifndef QT_NO_SESSIONMANAGER
24	virtual void saveState(QSessionManager &manager);
25#endif
26
27	WpaGui *w;
28};
29
30WpaGuiApp::WpaGuiApp(int &argc, char **argv) : QApplication(argc, argv)
31{
32}
33
34#ifndef QT_NO_SESSIONMANAGER
35void WpaGuiApp::saveState(QSessionManager &manager)
36{
37	QApplication::saveState(manager);
38	w->saveState();
39}
40#endif
41
42
43int main(int argc, char *argv[])
44{
45	WpaGuiApp app(argc, argv);
46	QTranslator translator;
47	QString locale;
48	QString resourceDir;
49	int ret;
50
51	locale = QLocale::system().name();
52	resourceDir = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
53	if (!translator.load("wpa_gui_" + locale, resourceDir))
54		translator.load("wpa_gui_" + locale, "lang");
55	app.installTranslator(&translator);
56
57	WpaGui w(&app);
58
59#ifdef CONFIG_NATIVE_WINDOWS
60	WSADATA wsaData;
61	if (WSAStartup(MAKEWORD(2, 0), &wsaData)) {
62		/* printf("Could not find a usable WinSock.dll\n"); */
63		return -1;
64	}
65#endif /* CONFIG_NATIVE_WINDOWS */
66
67	app.w = &w;
68
69	ret = app.exec();
70
71#ifdef CONFIG_NATIVE_WINDOWS
72	WSACleanup();
73#endif /* CONFIG_NATIVE_WINDOWS */
74
75	return ret;
76}
77