![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: objectConsole.h,v $ $Revision: 1.9 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 #ifndef objectConsole_H_ 00014 #define objectConsole_H_ 00015 00016 #include <list> 00017 #include <vlutil/vlPrint.h> 00018 #include "vrfobjcore/vrfobjcoreDefines.h" 00019 #include <vlutil/vlFilename.h> 00020 00021 class DtVrfObject; 00022 class DtOutputStream; 00023 class DtOutputStreamBuffer; 00024 class DtPrinter; 00025 class DtVrfObjectMessage; 00026 class DtSimMessage; 00027 00032 class DT_DLL_vrfobjcore DtObjectConsole 00033 { 00034 private: 00037 DtObjectConsole(); 00038 DtObjectConsole(const DtObjectConsole& orig); 00039 DtObjectConsole& operator=(const DtObjectConsole& orig); 00041 00042 public: 00043 DtObjectConsole(DtVrfObject* vrfObj); 00044 virtual ~DtObjectConsole(); 00045 00048 virtual bool init(); 00049 00056 virtual void registerMessageCallbacks(); 00057 00059 virtual void setNotifyLevel(DtNotifyLevelType level); 00061 virtual DtNotifyLevelType notifyLevel() const; 00062 00067 virtual void printToFile(const DtFilename& filename); 00069 virtual void stopPrintingToFile(); 00070 00073 virtual DtOutputStream& debugStream() const; 00074 virtual DtOutputStream& verboseStream() const; 00075 virtual DtOutputStream& infoStream() const; 00076 virtual DtOutputStream& warnStream() const; 00077 virtual DtOutputStream& errorStream() const; 00079 00082 virtual void addConsolePrinter(DtPrinter* printer); 00083 00090 virtual void addAndManageConsolePrinter(DtPrinter* printer); 00091 00094 virtual void removeConsolePrinter(DtPrinter* printer); 00095 00096 protected: 00099 virtual void addDefaultPrinters(); 00100 00101 static void logToFileCallback(const DtVrfObjectMessage* msg, void* usr); 00102 virtual void processLogToFile(const DtVrfObjectMessage* msg); 00103 00104 static void stopLoggingToFileCallback(const DtVrfObjectMessage* msg, void* usr); 00105 virtual void processStopLoggingToFile(const DtVrfObjectMessage* msg); 00106 00107 static void setNotifyLevelCallback(DtSimMessage* msg, void* usr); 00108 virtual void processSetNotifyLevel(DtSimMessage* msg); 00109 00110 protected: 00111 00112 DtVrfObject* myVrfObject; 00113 DtOutputStreamBuffer* myDebugBuffer; 00114 DtOutputStream* myDebugStream; 00115 DtOutputStreamBuffer* myVerboseBuffer; 00116 DtOutputStream* myVerboseStream; 00117 DtOutputStreamBuffer* myInfoBuffer; 00118 DtOutputStream* myInfoStream; 00119 DtOutputStreamBuffer* myWarnBuffer; 00120 DtOutputStream* myWarnStream; 00121 DtOutputStreamBuffer* myErrorBuffer; 00122 DtOutputStream* myErrorStream; 00125 std::list<DtPrinter*> myManagedPrinterList; 00127 int myObjectConsoleThreshold; 00130 DtFilePrinter* myFilePrinter; 00131 }; 00132 #endif