VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtPerformanceStatsManager.h
Go to the documentation of this file.
00001 /****************************************************************************** 
00002 ** Copyright (c) 2012 MAK Technologies, Inc. 
00003 ** All rights reserved. 
00004 ******************************************************************************/ 
00005 
00009 
00010 #include <vrvCore/vrvCore.h> 
00011 #include <vrvCore/DtDe.h>
00012 #include <vrvUtil/DtVirtualBaseClass.h>
00013 
00014 #include <boost/signals.hpp>
00015 #include <boost/unordered_map.hpp>
00016 
00017 namespace makVrv 
00018 {
00019    class DtPerformanceStatsManagerSignaler;
00020 
00026    class DT_DLL_VRVCORE DtPerformanceStatsManager : public DtVirtualBaseClass
00027    { 
00028    public:
00030       static DtPerformanceStatsManager& instance(DtDe& de);
00031 
00033       virtual ~DtPerformanceStatsManager();
00034 
00040       virtual void add(const std::string& statsSetName, DtStatsSet* statsSet);
00041 
00045       virtual void remove(const std::string& statsSetName);
00046 
00050       virtual DtStatsSet* find(const std::string& statsSetName);
00051 
00057       virtual void setActive(const std::string& statsSetName);
00058 
00062       virtual DtStatsSet* activeSet();
00063 
00067       virtual void tickStats(double tickTime);
00068 
00070       typedef std::vector<std::string> NameList;
00071       
00073       NameList names() const;
00074 
00075    protected:
00077       DtPerformanceStatsManager(DtDe& de);
00078 
00079    protected:
00080       DtDe& myDe;
00081       DtPerformanceStatsManagerSignaler& mySignaler;
00082       DtStatsSet* myActiveStatsSet;
00083 
00084       typedef boost::unordered_map<std::string, DtStatsSet*> PerformanceStatsMap;
00085       PerformanceStatsMap myStatsSets;
00086    };
00087 
00090    class DT_DLL_VRVCORE DtPerformanceStatsManagerSignaler : public DtVirtualBaseClass
00091    {
00092    public:
00094       static DtPerformanceStatsManagerSignaler& instance(DtDe& de);
00095 
00097       virtual ~DtPerformanceStatsManagerSignaler();
00098 
00100       boost::signal<void (DtStatsSet*)> signal_setAdded;
00101 
00103       boost::signal<void (DtStatsSet*)> signal_setAboutToBeRemoved;
00104 
00108       boost::signal<void (DtStatsSet*)> signal_activeSetChanged;
00109 
00110    protected:
00112       DtPerformanceStatsManagerSignaler();
00113 
00114    };
00115 } 

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)