VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/objectConsole.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)