VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtObjectConsoleMessageHandler.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtObjectConsoleMessageHandler.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrvUtil/signalslib.h>
00017 
00018 #include <vrfGuiCore/vrfGuiCore.h>
00019 #include <vrvCore/DtUniqueID.h>
00020 #include <vrvUtil/DtVirtualBaseClass.h>
00021 
00022 namespace makVrv
00023 {
00024    class DtDe;
00025    class DtSimObjectEntry;
00026 }
00027 
00028 class DtEntityIdentifier;
00029 class DtString;
00030 
00031 namespace makVrf
00032 {
00033    class DtNetworkMessageInterface;
00034 
00035    class DT_DLL_VRFGUICORE DtObjectConsoleMessageHandler : public makVrv::DtVirtualBaseClass
00036    {
00037    public:
00038       typedef std::vector<std::pair<std::string, int> > DtConsoleMessageList;
00039 
00040       DtObjectConsoleMessageHandler(makVrv::DtDe&);
00041       virtual ~DtObjectConsoleMessageHandler();
00042 
00044       static DtObjectConsoleMessageHandler& instance(makVrv::DtDe& de);
00045 
00046       virtual void setEnabled(bool);
00047       bool enabled() const
00048       {
00049          return myEnabled;
00050       }
00051 
00052       boost::signal<void (const DtEntityIdentifier&, int notifyLevel, const std::string&)> signal_consoleMessageReceived;
00053       boost::signal<void (int)> signal_messageQueueSizeChanged;
00054 
00055       virtual void setMessageQueueSize(int);
00056       int messageQueueSize() const
00057       {
00058          return myMessageQueueSize;
00059       }
00060 
00061       virtual DtConsoleMessageList messagesFor(const std::string& entityId) const;
00062 
00067       virtual void setReceivingMessagesFor(makVrv::DtElementID, bool);
00068 
00069    protected:
00070       virtual void processObjectConsoleMessageCallback(DtNetworkMessageInterface*);
00071       virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
00072 
00074       virtual void messagesToResolve();
00075 
00076    protected:
00077       typedef std::map<std::string, DtConsoleMessageList> DtConsoleMessageMap;
00078 
00079       makVrv::DtDe&        myDe;
00080       bool                 myEnabled;
00081       int                  myMessageQueueSize;
00082       DtConsoleMessageMap  myConsoleMessageMap;
00083 
00084       std::map<makVrv::DtElementID, int> myReceivingMessagesFor;
00085 
00087       std::map<std::string, bool> myHasAwaitingMessages;
00088 
00089       std::map<makVrv::DtElementID, bool> mySetAwaiting;
00090    };
00091 }

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)