Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

/home/pauldt/projects/IDEA/IDEA-ALL/IDEA-DEV/MetaTimingService/Includes/MetaTimingService.hh

Go to the documentation of this file.
00001 // -*- Mode: c++ -*-
00002 //     File: $Source: /home/cvs/ISG-Repository/IDEA-DEV/MetaTimingService/Includes/MetaTimingService.hh,v $
00003 //      Tag: $Name: DR_01_11_06 $
00004 //      CVS: $Id: MetaTimingService.hh,v 1.5 2005/12/30 22:35:40 rijsman Exp $
00005 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00006 
00007 #ifndef META_TIMING_SERVICE_HEADER
00008 #define META_TIMING_SERVICE_HEADER
00009 
00010 #include "Singleton.hh"
00011 #include "ThreadTools.hh"
00012 #include "TimeBasics.hh"
00013 #include "Utilities.hh"
00014 
00015 namespace IDEA
00016 {
00017   class MetaCommunicationRelay;
00018   class SharedTimingService;
00019 
00025   class MetaTimingService:
00026     public Singleton<MetaTimingService>
00027   {
00028   public:
00033     bool activate( int tscale, bool warp, const std::string& poolName );
00037     void deActivate();
00041     ~MetaTimingService();
00045     void registerTimingService( const std::string& name );
00051     Time getWarpTime() const;
00055     bool canWarp() const;
00060     void canWarpTo( const std::string& name, const Time& time );
00065     void warp( const Time& at, const Time& warpTo, double timescale ) const;
00069     void setDeltaBeforeWarp( const Time& delta );
00073     const Time& getDeltaBeforeWarp() const;
00078     void registerCommunicationLayer( MetaCommunicationRelay* layer, bool deleteInstance );
00079   private:
00083     MetaTimingService();
00087     StringVector m_RegisteredTimingServices;
00091     typedef std::map< std::string, Time > String2TimeMap;
00096     String2TimeMap m_WarpCandidates;
00101     SharedTimingService* m_SharedTimingService;
00105     MetaCommunicationRelay* m_CommunicationLayer;
00110     bool m_DeleteCommunicationLayer;
00116     Time m_DeltaBeforeWarp;
00120     bool m_Activated;
00121   };
00122 }
00123 
00124 #endif // META_TIMING_SERVICE_HEADER
00125  

Contact information
© IDEA
Generated on Fri Feb 3 17:09:42 2006 for IDEA.