X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/7fe9b0b742d7dae9c5af1d292d11840b5c3cbfae..afdcb8c159a73aba95a017f1cfec98e8fa2b93c1:/client/proxgui.cpp diff --git a/client/proxgui.cpp b/client/proxgui.cpp index 2858157c..6e4ec98e 100644 --- a/client/proxgui.cpp +++ b/client/proxgui.cpp @@ -1,7 +1,35 @@ +//----------------------------------------------------------------------------- +// Copyright (C) 2009 Michael Gernoth +// +// This code is licensed to you under the terms of the GNU GPL, version 2 or, +// at your option, any later version. See the LICENSE.txt file for the text of +// the license. +//----------------------------------------------------------------------------- +// GUI functions +//----------------------------------------------------------------------------- + #include "proxgui.h" #include "proxguiqt.h" +#include "proxmark3.h" +#include "uart.h" static ProxGuiQT *gui = NULL; +static WorkerThread *main_loop_thread = NULL; + +WorkerThread::WorkerThread(char *script_cmds_file, char *script_cmd, + bool usb_present, serial_port* sp) + : script_cmds_file(script_cmds_file), script_cmd(script_cmd), + usb_present(usb_present), sp(sp) +{ +} + +WorkerThread::~WorkerThread() +{ +} + +void WorkerThread::run() { + main_loop(script_cmds_file, script_cmd, usb_present, sp); +} extern "C" void ShowGraphWindow(void) { @@ -29,30 +57,33 @@ extern "C" void RepaintGraphWindow(void) extern "C" void MainGraphics(void) { - if (!gui) - return; + if (!gui) + return; - gui->MainLoop(); + gui->MainLoop(); } -extern "C" void InitGraphics(int argc, char **argv) +extern "C" void InitGraphics(int argc, char **argv, char *script_cmds_file, + char *script_cmd, bool usb_present, + serial_port* sp) { #ifdef Q_WS_X11 - bool useGUI = getenv("DISPLAY") != 0; + bool useGUI = getenv("DISPLAY") != 0; #else - bool useGUI = true; + bool useGUI = true; #endif - if (!useGUI) - return; + if (!useGUI) + return; - gui = new ProxGuiQT(argc, argv); + main_loop_thread = new WorkerThread(script_cmds_file, script_cmd, usb_present, sp); + gui = new ProxGuiQT(argc, argv, main_loop_thread); } extern "C" void ExitGraphics(void) { - if (!gui) - return; + if (!gui) + return; - delete gui; - gui = NULL; + gui->Exit(); + gui = NULL; }