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/Core/Agent/Includes/AgentTimingService.hh

Go to the documentation of this file.
00001 // -*- Mode: c++ -*-
00002 //     File: $Source: /home/cvs/ISG-Repository/IDEA-DEV/Core/Agent/Includes/AgentTimingService.hh,v $
00003 //      Tag: $Name: DR_01_11_06 $
00004 //      CVS: $Id: AgentTimingService.hh,v 1.4 2005/12/30 22:05:31 rijsman Exp $
00005 //     Info: $CVSROOT/IDEA-DEV/COPYRIGHT
00006 
00007 #ifndef AGENT_TIMING_SERVICE_H
00008 #define AGENT_TIMING_SERVICE_H
00009 
00010 #include "TimeBasics.hh"
00011 #include "ThreadTools.hh"
00012 
00013 namespace IDEA 
00014 {
00015   class TimeEventHandler;
00016   class AgentTimingServiceImpl;
00026   class AgentTimingService 
00027   {
00028   public:
00034     AgentTimingService();
00038     ~AgentTimingService();
00042     RecursiveThreadMutex& getMutex() const;
00046     AgentTimingServiceImpl* setAgentTimingServiceImpl( AgentTimingServiceImpl* impl, bool deleteInstance );
00050     TimeEventHandler* setTimeEventHandler( TimeEventHandler* handler, bool deleteInstance ) const;
00051 
00052     const TimeEventHandler* getTimeEventHandler() const;
00056     void setCancellableEventTimer(const Time& time) const;
00060     void setLatency( const Time& latency );
00064     const Time& getLatency() const;
00068     void cancelRebootEventAtEndOfTick();
00072     void cancelEventTimer() const;
00076     void setRebootTimer(const Time& time) const;
00080     void cancelRebootTimer() const;
00084     void setNonCancellableEventTimer(const Time& time) const;
00088     void cancelAllTimers() const; 
00094     void incrementNonWarpableCommands() const;
00100     void decrementNonWarpableCommands() const;
00105     bool isInitialized() const; 
00109     Time getTimeOfDay() const;
00113     Time getCurrentTime() const;
00120     Time getCurrentTick() const;
00124     Time getElapsedTime() const;
00128     void incrementTransitMessages(int numOfMsgs=1) const;
00132     void decrementTransitMessages(int numOfMsgs=1) const;
00136     void cancelTimer( const Time& time ) const;
00141     bool getNextScheduledTime( Time& time ) const;
00145     void stop();
00146   private:
00147     AgentTimingServiceImpl* m_AgentTimingServiceImpl;
00148     bool m_DeleteAgentTimingServiceImpl;
00149 
00150     Time m_Latency;
00151   };
00152 } // namespace
00153 
00154 #endif // AGENT_TIMING_SERVICE_H
00155 
00156 // EOF

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