VR-Forces 4.0.4 Class Documentation
include/vrfutil/splitContentTimer.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999-2001 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: splitContentTimer.h,v $ $Revision: 1.1 $ $State: Exp $
00007 *******************************************************************************/
00011 
00014 
00015 #ifndef DtSplitContentTimer_H_
00016 #define DtSplitContentTimer_H_
00017 
00018 #include "vrfutil/vrfutilDefines.h"
00019 
00020 #include <map>
00021 #include <vlutil/vlTime.h>
00022 
00023 class DtSplitMessageKey;
00024 
00025 typedef void (*DtSplitContentExpiredFcn)(const DtSplitMessageKey& key, void *pUsr);
00026 
00033 class DT_DLL_vrfutil DtSplitContentTimer
00034 {
00035 public:
00036    
00038    typedef std::map<DtSplitMessageKey, DtTime> DtTimeoutMap;
00039 
00040 public:
00041 
00043    DtSplitContentTimer();
00044 
00046    virtual ~DtSplitContentTimer();
00047 
00050    virtual void addTimeoutEntry(const DtSplitMessageKey& key, DtTime startTime);
00051 
00053    virtual void clear();
00054 
00060    virtual void evaluateTimeouts(DtTime timeNow, DtSplitContentExpiredFcn pFcn, void* pUsr);
00061 
00063    virtual bool findEntry(const DtSplitMessageKey& key, DtTime& retTime);
00064 
00067    virtual DtTime lastTimeoutCheckTime() const;
00068    virtual void setLastTimeoutCheckTime(DtTime nTime);
00070 
00073    virtual DtTime timeoutCheckInterval() const;
00074    virtual void setTimeoutCheckInterval(DtTime nSecs);
00076 
00079    virtual DtTime timeoutDuration() const;
00080    virtual void setTimeoutDuration(DtTime nSecs);
00082 
00084    virtual void removeTimeoutEntry(const DtSplitMessageKey& key);
00085 
00086 protected:
00087 
00090    DtSplitContentTimer(const DtSplitContentTimer& orig);
00091 
00092    const DtSplitContentTimer& operator=(
00093       const DtSplitContentTimer& orig);
00095 
00096 protected:
00097    DtTime         myLastTimeoutCheckTime;
00098    DtTime         myTimeoutCheckInterval;
00099    DtTime         myTimeoutDuration;
00100    DtTimeoutMap   myTimeoutMap;
00101 
00102    static const DtTime  theDefaultTimeoutCheckInterval;
00103    static const DtTime  theDefaultTimeoutDuration;
00104 };
00105 
00106 inline DtTime DtSplitContentTimer::lastTimeoutCheckTime() const
00107 {
00108    return (myLastTimeoutCheckTime);
00109 }
00110 
00111 inline void DtSplitContentTimer::setLastTimeoutCheckTime(DtTime nTime)
00112 {
00113    myLastTimeoutCheckTime = nTime;
00114 }
00115 
00116 inline DtTime DtSplitContentTimer::timeoutCheckInterval() const
00117 {
00118    return (myTimeoutCheckInterval);
00119 }
00120 
00121 inline void DtSplitContentTimer::setTimeoutCheckInterval(DtTime nSecs)
00122 {
00123    myTimeoutCheckInterval = nSecs;
00124 }
00125 
00126 inline DtTime DtSplitContentTimer::timeoutDuration() const
00127 {
00128    return (myTimeoutDuration);
00129 }
00130 
00131 inline void DtSplitContentTimer::setTimeoutDuration(DtTime nSecs)
00132 {
00133    myTimeoutDuration = nSecs;
00134 }
00135 
00136 #endif
00137 
00138 

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)