/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * Authors: Manuel Mausz (manuel@mausz.at) * Christian Raschko (c.raschko@netcore.at) */ #ifndef TSAPP_H #define TSAPP_H //libraries #include "tsclient.h" #include "tsquerythread.h" #include #include #include //config file name #define CONFIG_FILE_NAME _T("tsclient.cfg") //! Timeout for reconnect sec #define RECONNECT_TIMEOUT 10 //Main application class class TSApp : public wxAppConsole { public: //main() replacment virtual int OnRun(); //app cleanup virtual int OnExit(); //app init virtual bool OnInit(); //Command line parser virtual void OnInitCmdLine(wxCmdLineParser &parser); virtual bool OnCmdLineParsed(wxCmdLineParser &parser); virtual bool OnCmdLineHelp(wxCmdLineParser &parser); virtual bool OnCmdLineError(wxCmdLineParser &parser); //interactive mode bool Interactive(); //load config bool LoadConfig(wxString const &filename); private: wxString ReadString(wxString const &str); wxLogStderr *m_pLog; wxFFile *m_pLogFile; wxString m_pLogFileStr; TSClient *m_pClient; TSQueryThread*m_pQuery; wxFileConfig *m_pConfig; bool m_Interactive; bool m_Logtostderr; #if defined __UNIX__ bool m_Foreground; #endif wxString m_ConfigFileName; }; //create a forward declaration of the wxGetApp //function implemented by IMPLEMENT_APP DECLARE_APP(TSApp) #endif