lgrApplication.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #ifndef lgrApplication_H_
00010 #define lgrApplication_H_
00011 
00012 #include "lgrApp.h"
00013 
00014 #include <list>
00015 #include <vlutil/vlSmartPointers.h>
00016 #include <vlutil/vlString.h>
00017 
00018 class DtPrinter;
00019 
00020 struct tagMSG;
00021 
00022 namespace MAKLogger
00023 {
00024    class DtLgrAppGuiInterface;
00025    class DtLgrAppCommandLine;
00026    class DtLgrConsole;
00027    class DtLogger;
00028    class DtLoggerAppConfigLoader;
00029    class DtThreadedLogger;
00030 
00031    typedef DtBoost::shared_ptr<DtThreadedLogger> DtThreadedLoggerSP;
00032    typedef DtBoost::shared_ptr<DtLgrConsole> DtLgrConsoleSP;
00033    typedef DtBoost::shared_ptr<DtLgrAppGuiInterface> DtLgrAppGuiInterfaceSP;
00034 
00037    class DT_DLL_LGRAPP DtLoggerApplication
00038    {
00039    public:
00040       DtLoggerApplication();
00041       virtual ~DtLoggerApplication();
00042 
00045       virtual void initialize(int argc,char** argv, DtString configFile);
00046 
00049 
00050      virtual DtString getConfigFilename( int argc, char** argv, DtString configFile);
00053       virtual void run();
00054 
00056       DtString language() const;
00057 
00059 
00060       virtual DtLogger& logger();
00061       virtual const DtLogger& logger() const;
00063 
00066       virtual DtLgrAppGuiInterfaceSP gui();
00067 
00069       virtual DtLgrConsoleSP console();
00070 
00072       typedef void (*GuiStartupCallback)(DtLgrAppGuiInterfaceSP);
00073 
00075       virtual void registerGuiStartupCallback(GuiStartupCallback callback);
00076 
00078       virtual void executeGuiStartupCallbacks();
00079 
00080       typedef bool (*WinEventFilterFunction)(tagMSG *msg, long *result);
00081       static WinEventFilterFunction winEventFilter();
00082       static void setWinEventFilter(WinEventFilterFunction function);
00083 
00086       static void initFPUnit();
00087 
00088    protected:
00089 
00092       void setOutputLog(const DtString& logFilename);
00093 
00095       virtual void processConfigurationFile(const DtString& configFile);
00096 
00098       virtual void processCommandLineArguments( int argc, char** argv );
00099 
00101       virtual void initializeGui();
00102 
00104       virtual void initializeConsole();
00105 
00106 
00110       virtual void enableLoggerAppPlugins();
00111 
00112       DtThreadedLoggerSP myLogger;
00113       DtLgrConsoleSP myConsole;
00114       DtLgrAppGuiInterfaceSP myGui;
00115       DtLoggerAppConfigLoader* myLoader;
00116       DtLgrAppCommandLine* myCommandLine;
00117       DtString myLogFileName;
00118       DtPrinter* myLogFilePrinter;
00119 
00120       typedef std::list<GuiStartupCallback> GuiStartupCallbackList;
00121       GuiStartupCallbackList myStartupCallbacks;
00122 
00123       static WinEventFilterFunction theCurrentWinEventFunction;
00124    };
00125 
00126 }
00127 
00128 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)