コード例 #1
0
 private TimerDescription(TimerCallback callback, TimerCallbackType callbackType)
 {
     m_Callback      = callback;
     m_TimerId       = Guid.NewGuid();
     m_CallbackType  = callbackType;
     m_TimerCalcTime = DateTime.Now;
 }
コード例 #2
0
 internal TimerDescription(DateTime time, TimerFrequency frequency,
                           TimerCallback callback, TimerCallbackType callbackType)
     : this(callback, callbackType)
 {
     m_TimerDateTime  = time;
     m_TimerFrequency = frequency;
     m_TimerType      = TimerType.Absolute;
     FirstTimeToFire();
 }
コード例 #3
0
        public Guid AddAbsoluteTimer(DateTime timerTime, TimerCallback callback, TimerCallbackType callbackType)
        {
            lock (m_TimerDescriptions)
            {
                TimerDescription timerDescription = new TimerDescription(timerTime, callback, callbackType);
                m_TimerDescriptions.Add(timerDescription);

                return(timerDescription.Id);
            }
        }
コード例 #4
0
        public Guid AddIntervalTimer(ulong interval, TimerCallback callback, TimerCallbackType callbackType)
        {
            lock (m_TimerDescriptions)
            {
                TimerDescription timerDescription = new TimerDescription(interval, callback, callbackType);
                m_TimerDescriptions.Add(timerDescription);

                return(timerDescription.Id);
            }
        }
コード例 #5
0
        internal TimerDescription(ulong secs, TimerCallback callback, TimerCallbackType callbackType)
            : this(callback, callbackType)
        {
            if (secs == 0)
            {
                throw new ArgumentException("Interval cannot be 0");
            }

            m_MsecInterval  = secs * 1000;
            m_TimerCalcTime = DateTime.Now.AddMilliseconds(m_MsecInterval);
            //TODO: Sandip added
            m_TimerType = TimerType.Interval;
        }
コード例 #6
0
 internal TimerDescription(DateTime time, TimerCallback callback, TimerCallbackType callbackType)
     : this(time, TimerFrequency.Everyday, callback, callbackType)
 {
 }